草庐IT

light-content

全部标签

javascript - Chrome 扩展 : Checking if content script has been injected or not

我正在开发Chrome扩展程序。我没有使用manifest.json来匹配所有URL的内容脚本,而是在用户单击扩展图标时通过调用chrome.tabs.executeScript懒惰地注入(inject)内容脚本。我正在尝试避免多次执行脚本。所以我的内容脚本中有以下代码:if(!window.ALREADY_INJECTED_FLAG){window.ALREADY_INJECTED_FLAG=trueinit()//问题#1,每次点击扩展图标时,这是否足够安全以天真地调用chrome.tabs.executeScript?换句话说,这是幂等的吗?问题#2,chrome.tabs.in

javascript - 类型错误 : [API] is undefined in content script or Why can't I do this in a content script?

我试图在Firefox中编写一个简单的扩展,其中我修改了X-Frame-Allowheader。我简要地查看了文档,发现它们支持webRequest.onHeadersReceived.addListener()。但是,我无法在收到header时运行我的代码。list.json{"manifest_version":2,"name":"xframeoptions","version":"1.0","description":"SetX-Frame-OptionstoALLOW","icons":{"48":"icons/icon.png"},"permissions":["webReq

javascript - react Prop : Using an HTML entity within JSX dynamic content?

我有一个Reactcomponent,我想为其属性分配一个包含JavaScript变量和HTML实体的字符串。我尝试过的一些方法导致HTML实体被转义。例如,–逐字呈现为“–”而不是“–”。有没有办法让HTML实体在分配给ReactProp的JSX动态内容block中呈现非转义?尝试次数尝试使用templateliteral:...问题:在呈现的输出中,–按字面意思呈现为“–”而不是“–”。尝试构建一些不带引号的简单JSX:问题:这在编译时因语法错误而失败。尝试通过将JSX包装在中来解决语法错误元素:{name}–{descr

javascript - 咕噜 imagemin 错误 : Cannot read property 'contents' of undefined

当我尝试运行Gruntimagemin时抛出以下错误:Running"imagemin:dynamic"(imagemin)taskFatalerror:Cannotreadproperty'contents'ofundefined这是我的package.json文件:{"name":"project1","version":"0.1.0","devDependencies":{"grunt":"~0.4.1","grunt-contrib-imagemin":"^1.0.0","grunt-contrib-uglify":"^0.11.0","imagemin":"4.0.0"}}这

javascript - Angular 4 : How to read content of text file with HTTPClient

我的Angular4项目目录中有一个.txt文件,我想阅读它的内容。怎么做?下面是我使用的代码。该文件位于“app”文件夹内的“files”文件夹中。我拥有HTTPClient代码的组件位于“app”文件夹内的“httpclient”文件夹中。意思是“files”文件夹和“httpclient”文件夹是子文件夹。代码如下所示。它不工作,因为我收到404错误-'GEThttp://localhost:4200/files/1.txt404(未找到)'this.http.get('/files/1.txt').subscribe(data=>{console.log(data);},(er

javascript - Chrome DevTools 扩展 : how to get selected element from elements panel in content script?

我已经完成研究并为此苦苦挣扎了一段时间,但我需要您的帮助。我正在构建一个ChromeDevTools扩展。它应该将当前从“元素”面板中选择的元素作为引用传递给内容脚本中定义的JS对象。重要的是我将引用传递给所选元素,或通过其他方式从内容脚本中识别元素。我了解ChromeDevTools中“孤立世界”的工作流程。我还了解扩展页面、背景页面和内容脚本之间的消息传递。这只发生在JSON基元上,因此没有JS范围传递。如何将在devtools元素面板中选择的元素传递给位于被检查页面中的内容脚本?编辑这是我目前所知道的:获取对所选元素的引用:chrome.devtools.inspectedWin

javascript - 内联标记 block (@<p>Content</p>) 不能嵌套。只允许一层内联标记

您好,我收到错误消息:Inlinemarkupblocks(@Content)cannotbenested.Onlyonelevelofinlinemarkupisallowed.将KendoUI选项卡条和MultiSelectBoxes与RazorView和MVC4结合使用我已经尝试实现辅助类,但我仍然遇到错误这是我的代码,我是不是漏掉了一步?我将3个多选移出并用助手调用它们!@(Html.Kendo().TabStrip().Name("tabstrip").Items(tabstrip=>{tabstrip.Add().Text("One").Content(@@RenderSe

javascript - Chrome 扩展 : how to pass ArrayBuffer or Blob from content script to the background without losing its type?

我有这个内容脚本,它使用XHR下载一些二进制数据,稍后发送到后台脚本:varself=this;varxhr=newXMLHttpRequest();xhr.open('GET',url);xhr.responseType='arraybuffer';xhr.onload=function(e){if(this.status==200){self.data={data:xhr.response,contentType:xhr.getResponseHeader('Content-Type')};}};xhr.send();...later...sendResponse({data:se

javascript - 如何让 Google Tag Manager 和 Content-Security-Policy 共存?

Content-Security-Policy(CSP)header旨在保护您的应用程序免受网络应用程序中的恶意资源注入(inject)。为简单起见,您为所有图像、脚本、样式等提供允许域来源的白名单。与此同时,营销团队正在使用GoogleTagManager(GTM)管理标签。原理是从页面收集信息,将它们发送到GTM并将这些数据用作变量来生成标签,这是模板化JS/HTML和这些变量的混合。问题是这些标签中的大多数都包含javascript,用于将非常具体的数据发送到跟踪器、广告服务器或任何合作伙伴。假设我的营销团队了解安全风险并且不会包含恶意脚本。有没有办法知道GTM导入了哪些域,以便

javascript - Chrome 扩展 : how to detect that content script is already loaded into a tab?

我的后台脚本中有以下代码:chrome.tabs.onUpdated.addListener(function(tabId,changeinfo,tab){if(changeinfo.status!=='complete')return;if(!matchesUrlFilters(tab.url))return;chrome.tabs.executeScript(tabId,{file:"jquery-1.7.1.min.js"},function(){chrome.tabs.executeScript(tabId,{file:"enhance.js"});});});但是,在某些情况