问题标签 [content-script]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Chrome 扩展内容脚本中包含 Javascript 文件
我正在编写一个 Chrome 扩展程序,并想编写一个 JS 文件,该文件提供了几个在另一个文件中不存在的预期功能,然后加载另一个文件。在传递当前模块的局部变量和全局变量时,我的行为类似于require
Perl、#include
C 或execfile
Python 中的行为,就好像引用的文件被直接插入到当前脚本中一样。
我可以在那里找到的大多数现有解决方案都指在脚本标签中嵌入这些“包含”,但我不确定这是否适用(如果适用,请解释我的扩展在当前页面中注入所有这些脚本标签的确切位置)。
更新0
请注意,我正在编写内容脚本。至少在“用户”方面,我不提供原始 HTML 文档。
google-chrome-extension - Chrome 扩展:在内容脚本中访问 localStorage
我有一个选项页面,用户可以在其中定义某些选项并将其保存在 localStorage 中:options.html
现在,我还有一个内容脚本需要获取options.html
页面中定义的选项,但是当我尝试从内容脚本访问 localStorage 时,它不会从选项页面返回值。
如何让我的内容脚本从 localStorage、选项页面甚至后台页面获取值?
javascript - Chrome:在 contentscript 和 popup.html 之间传递数据
我有一个简单的函数,它只是location.href
从 contentscript 传递到 popup.html 页面。它不工作。我所拥有的是..
在popup.html ..
在我的内容脚本中...
为什么我的代码不起作用?
javascript - Contentscript 不在 AJAX 密集页面上运行?
我正在开发一个 Chrome 扩展程序,我注意到如果我正在处理的页面上有大量 AJAX,我的扩展程序 contentscript 似乎不会运行。例如 Gmail / Google Doc 的……这是为什么呢?有谁知道解决方法?
javascript - 如何将 ContentScript 数据传递给 JavaScript 中的模块全局变量?
我一直在做一个 Firefox 扩展项目,现在我被困在这个问题上,
其中 abc 是全局变量,newabc 是 contentScript 中的变量。
如何制作 abc = newabc ?
谢谢!!
firefox - 在 contentscript 中无法识别变量
我正在尝试创建一个插件,在用户登录到我的网站后,我将尝试读取该域的会话 ID,并将其用于与我的插件的进一步交互。我使用在线插件生成器,我有这段代码,我想读取 cookie:
但是每次我单击“我的菜单项”按钮时都会引发错误,说cookieMgr
变量未定义。
javascript - jQuery 未加载到 Google Chrome content_script 扩展中
我无法在 Google Chrome 用户脚本中加载 jQuery。
这就是我的 manifest.json 的样子:
但在code.js
,$
是undefined
。
code.js
否则工作,实际上我有一个书签工作(使用该网站的jQuery版本)。
我尝试过托管或本地的 jQuery 的缩小和未缩小版本。
我还尝试在我的顶部嵌入一个缩小的 jQuery code.js
,但如果我这样做,代码甚至不会运行,实际上整个文件都不会运行(甚至在缩小的 jQuery 块之前的警报)。
如果你想看,这里就是。
javascript - 在网页中作为 Google Chrome 扩展程序自动加载书签
基本上我制作了一个书签,我希望它在打开某个通配符 URL 时运行。由于某些原因,它不会简单地作为 chrome 扩展中的 javascript 运行,我已经厌倦了尝试。
我认为可以工作的是content_script
为指定页面制作一个扩展名(允许通配符 via match
),并以某种方式使其执行与用户单击书签栏中的小书签相同的事情.
但是,我不知道如何制作这个。
需要注意的一点是,我需要它来访问页面的全局范围,即突破扩展沙箱(这是可能的,并且已在 Chromium 错误跟踪器中通过设计确认是可能的)。
所以问题又是:如何从content_script
中“加载书签”(换句话说,如何将书签转换为 Google Chrome 扩展程序)。如果可以使用的话,我也有它在纯 javascript 中。
这是书签,以防有人想用它进行测试。它旨在用于my.deviantart.com/messages/*
(但您需要在收件箱中拥有一个帐户和消息,以查看悬停在“偏差”链接顶部的效果,它将显示带有缩略图的工具提示)。
(编辑: 这是一个扩展尝试,发布在答案的评论中)
javascript - 没有背景页面的启用选项的内容脚本 Chrome 扩展?
我正在为 Google Chrome 制作内容脚本扩展,它为网站页面添加了功能。我想添加几个选项,其实没什么大不了的,我只需要两个字符串(都不是敏感的用户数据)。
从这个答案,我假设我需要一个背景页面,我不想将它添加到我的扩展中 - 我不希望它获得不必要的重量。
我真的需要一个背景页面,或者我可以有一个没有它的选项页面(以及我可以使用哪个存储)?
javascript - Chrome 扩展在文档开始时运行
我有一个脚本,我想在加载之前将其注入到文档中。IE; 它应该像
我在 chrome 中制作了一个可以正确执行的脚本(我可以 alert(0) 等),但是它在不同的环境中运行,这不是我想要的。我希望它在与页面相同的环境中运行。
早些时候,我在启动脚本中使用了一个技巧
这有效地改变了执行环境,但在过去的几天里它不起作用。我认为它是一个 chrome 错误修复。有没有其他解决方法?注意:我无法在启动脚本中动态添加脚本标签到页面,因为 document.body 等不可用。
我想为您提供更多详细信息,说明我为什么需要这个以及我以前的解决方案。我无法控制的 HTML 页面:
解决方法:启动 JavaScript 包含
当页面实际加载时,这将强制重新声明“a”的错误,因此,当调用 a() 时,什么也没有发生。(聪明,对吧?-_-)
但是现在,我意识到当我这样做时window.location="js:.."
,即使是在单独的环境中运行!