我有一个非常奇怪的问题,我开发了一个and扩展,它使用内容脚本和后台脚本(使用chrome.runtime.connect)和本地脚本之间的消息传递。
我面临的问题是,当我安装扩展时(事先从商店手动安装,然后连接到我的网站,一切正常工作,chrome.runtime.connect工作,并返回一个有效的端口到后台脚本。
但是,当我从我的网站内安装扩展以绕过必须导航才能在网页中获得内容脚本的事实时,我会使用以下方法手动将内容脚本插入到我的页面中
function injectContentScript() {
var s = document.createElemen
当用户单击浏览器图标时,应该运行spiderSimulator()。我能让它工作一次。
就像,我会点击图标,它会做它应该做的事情。但是如果我刷新页面并再次单击它,它就不能工作了。如果我去另一个网站,再试一次,它不起作用。
如果我更新扩展,刷新页面,清除缓存,它会再次工作--有时。这是非常矛盾的。
知道这里出了什么问题吗?
content.js
// Adds an event listener to the browser icon to sends a message to background.js.
chrome.runtime.onMessage.addListener(
fu
我正在尝试加载一个后台脚本(扩展名-starter.js),其中包含if/else语句。我存储用户对如何在本地存储中打开扩展(弹出、新窗口、新选项卡)的偏好。打开扩展后,我希望它能够检索保存的值并适当地打开扩展,但由于某些原因,当更改首选项(例如,从弹出到新选项卡)时,单击扩展图标将打开先前状态下的扩展。只有在我刷新解压缩扩展之后,它才会按预期打开应用程序。
// Here is the manifest.json...(took out unnecessary info)
{
"manifest_version": 2,
"backgr
我试图在一个扩展弹出中使用库,但是我得到了一个错误。
错误:在Jb (chrome-extension://jambnlbfljcfpomlclcgphfmkjfiphkb/lib/angular.js:74:18) at k (chrome-extension://jambnlbfljcfpomlclcgphfmkjfiphkb/lib/angular.js:62:357) at Jc (chrome-extension://jambnlbfljcfpomlclcgphfmkjfiphkb/lib/angular.js:64:37) at Lc (chrome-extension://ja
在我的chrome扩展中加载和执行外部js-脚本时有困难。看起来和一样,但我仍然不明白为什么它在我的情况下不起作用。
我的想法是,我希望在我的内容脚本中有一些默认函数,它应该解析网页内容。对于某些特定的网页,我想要加载和使用特定的解析器,所以我尝试为wep页面加载适当的js-脚本,这个脚本应该扩展默认解析器的功能。
到目前为止,我只尝试从外部脚本执行代码,但是有这样的错误:Unchecked runtime.lastError while running tabs.executeScript: No source code or file specified at Object.callbac
此消息总是出现在chrome开发人员工具的控制台中:
Port error: Could not establish connection. Receiving end does not exist. miscellaneous_bindings:232
chromeHidden.Port.dispatchOnDisconnect miscellaneous_bindings:232
Error in event handler for 'undefined': Cannot read property 'instanceId' of undefined Typ
我正在将一个chrome扩展集成到一个ember应用程序中。我的app.js文件中有一些chrome扩展代码:
window.sendToExtension = (message, callback) => {
chrome.runtime.sendMessage(extensionId, message, (response) => {
console.log('got response from extension!!', response)
if (response.path) {
//Here I need to tell t