问题标签 [chrome-plugins]

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.

0 投票
1 回答
591 浏览

javascript - 在 Facebook 的 Chrome 扩展中使用 onpopstate

我正在尝试为 facebook 创建一个 Chrome 插件,并且我正在使用 onpopstate 事件来检查用户何时进入另一个页面。唯一的问题是 onpopstate 不会触发。

这是我正在使用的(简单)代码:

这是问题的屏幕:

控制台中的代码测试

如您所见,调用了 pushState 代码,但未调用 onpopstate 侦听器。

你知道这里发生了什么吗?

0 投票
0 回答
376 浏览

electron - 打开 Electron webview 的 plugins 属性有什么影响?

有人可以解释标签的plugins属性Webview实际上是做什么的吗?它允许哪些插件?只有我,开发者,添加的那些?

文档只是说:

当此属性存在时,webview 中的访客页面将能够使用浏览器插件。

我的 Electron 应用程序需要显示 PDF,我只能通过设置此属性来做到这一点,但我想确保打开此属性没有其他不利影响/暗示。

我不希望运行一些我无法控制的随机插件(我的理解是扩展是由用户安装的,但插件是由 Chrome 团队“安装”的,我们无法控制运行的内容 [禁止使用 Flash 和 PDF 查看器])。

在我的 Electron 应用程序的控制台窗口中运行navigator.plugins会显示一个包含一个元素的数组 name Chromium PDF Viewer,这是令人欣慰的,但是是否有可能另一个插件会进入该数组,或者我必须成为添加该插件的人?


更新:从 Chrome 57(Electron 2 使用 Chrome 61)开始,我们可以控制的唯一插件是 PDF Viewer(Electron 显然附带)和Flash

如果我们想使用内置的 PDF Viewer,我们只能指定plugins属性并信任 Chrome 的其他插件。

回答我上面的问题:

是否有可能另一个插件会进入该数组,或者我必须成为添加该插件的人?

看来我必须是添加它的人,但同样,这并不能阻止其他 Chrome 插件运行。

0 投票
1 回答
2815 浏览

google-chrome - 旧 Chrome 插件清单:无法识别的清单键“插件”

我有一个 Chrome 插件,我想在当前 Chrome 版本上使用,但不幸的是,在安装时,我收到以下错误:

无法识别的清单键“插件”。

清单类型看起来像

我假设 Chrome 插件的构建方式发生了一些变化,或者什么是允许的,什么是不允许的。如何将使用作为清单中的键*.dll的旧格式调用文件转换为新的正确方式?plugins

0 投票
0 回答
54 浏览

javascript - 从网站向 Chrome 插件发送消息

我正在开发一个 chrome 插件。我想从网站向插件发送消息。我正在关注 Google 的官方文档,即https://developer.chrome.com/apps/messaging#external-webpage。我做同样的事情。下面的代码来自我的 manifest.json 文件。

然后我在 background.js 文件中添加了以下代码

重新加载我的扩展后,我正在尝试使用以下代码从网站的控制台发送消息:

但我收到如下错误:

未选中 runtime.lastError: 无法建立连接。接收端不存在。 尽管我搜索了错误,但我找不到满意的答案。这里有什么问题?谢谢..

0 投票
1 回答
73 浏览

javascript - 如何为 Google Chrome 构建插件/扩展程序,在用户桌面上创建网站的快捷方式图标

我想Install在这个网站上有一个功能: https ://lacasadehamburguer.grandchef.com.br/?fbclid=IwAR14WN_LkR92kT8rocPFk4CqEEyAlXA4hA7Gl3SASc_eEg972RG5QckzgvM

当用户单击按钮Install时,它会将插件作为“已安装”添加到 chrome 中,并在用户桌面上创建一个快捷图标。

这个功能怎么称呼?

0 投票
1 回答
31 浏览

javascript - chrome.storage.local.get 在 chrome.storage.sync.get 回调中失败

它刚刚工作,现在我无法进入 chrome.storage.local.get() 的回调。

我在本地存储中有数据,并且我已经正确编写了它。

为什么会失败?我是误解了什么还是我错过了什么?

0 投票
0 回答
1189 浏览

google-chrome - Chrome + PDF“无法加载插件”

在不平凡的情况下,尤其是。在我打开浏览器一段时间后,Chrome 将无法显示 PDF 文档,显示错误“无法加载插件”。

我在 OSX 上。我知道NPAPI 和 PPAPI问题在这里不相关。这些用户描述的禁用 PDF 隔离标志已被删除。

其他人建议作为解决方法改变您的浏览方式,或者更频繁地重新启动 Chrome 并打开更少的标签。我更喜欢一个解决方案。

0 投票
0 回答
161 浏览

javascript - chrome.tabs.onUpdated changeInfo.status === 'complete' 触发太快

第一次创建 Chrome 扩展程序,发现它有点不知所措。

我正在尝试创建一个插件来从网站中提取评论数据并将其存储在文本文件中。我希望能够单击插件按钮开始下载,然后插件应该使用页面上提供的Next Review按钮导航到网站上的每个评论,直到它到达最后一个评论。

每个页面都需要一些时间来加载,所以我需要等待页面加载,然后才能调用提取信息并导致页面前进的函数。

我最初尝试使用计时器,但这显然会导致跨系统的行为不一致,因此我现在尝试使用chrome.webNavigation/ chrome.tabsAPI。

这是我面临问题的地方。如果我使用页面中的链接导航到另一个页面,也chrome.webNavigation.onDOMContentLoaded不会被解雇。chrome.webNavigation.onCompleted只有当我通过手动输入 url 导航到页面或重新加载页面时,它们才会被触发。

所以我尝试使用该chrome.tabs.onUpdated事件。这成功地识别出我点击了一个链接,但它在我点击按钮的那一刻被触发。它不会等待 DOM 内容加载。我需要一种方法来延迟这个(不使用计时器),以便它在页面内容加载后触发

这是我的背景脚本的摘录:

我可能对此的解释不正确,但我的印象是当页面完成加载时 TabStatus (changeInfo.status) 会显示“完成”(有点像“加载”事件)。显然,这不会发生。如果有人也可以解释它的实际工作原理,那就太好了。

所以,总结一下:我需要一种方法让 Chrome 插件意识到我已经使用链接导航到另一个页面,并且它应该在页面内容加载完成时触发一个事件。

0 投票
1 回答
153 浏览

javascript - 从 chorme 扩展访问 iframe 时出错,content_security_policy 错误

我正在尝试从 chrome 插件访问 iframe 并收到以下错误。

拒绝构建“https://mysite.co/”,因为祖先违反了以下内容安全策略指令:“frame-ancestors *”。

我已经在我的 menifest.json 文件中添加了以下行,但它不起作用。

"content_security_policy": "script-src 'self' https://mysite.co/"

请指导。

0 投票
0 回答
133 浏览

javascript - Chrome 插件无法在 Api 调用中使用自定义用户代理

我创建了一个 chrome 插件来对页面中的数据进行一些分析,为此我需要从插件中调用一些 API,并且我想提供一些自定义用户代理来从服务器中识别它,不能使用任何其他键在标头中,它将增加工作量,因为它已经为其他一些应用程序提供了 API 我尝试了 3 种方法,我得到的只是一些错误消息和默认的 chrome 用户代理,如果我将密钥名称从用户代理更改为任何其他名称它工作正常,但我只想在用户代理密钥中发送它

这给出了一些错误,例如

然后我也试过了

这没有给出任何错误,而是发送默认用户代理

通过更改 background.js 尝试了另一种方法

这也没有按预期工作。

请任何人建议我解决这个问题