我正在为chrome编写一个迷你插件。在插件中,我插入了一个代码来播放ajax成功的音频。它不适用于使用https
的网站,但在使用http
的网站上可以正常使用。你能帮我编辑吗?
manifest.json
mystyle.js
要获得图像的完整分辨率:
答案 0 :(得分:0)
乍一看,您的代码存在两个问题:
您不应将chrome.tabs.getSelected
和chrome.browserAction
放入mystyle.js
。 mystyle.js
是content script,只能访问有限的chrome api。
但是,内容脚本有一些限制。他们不能:
使用chrome。* API,但以下情况除外:
- 扩展名(getURL,inIncognitoContext,lastError,onRequest, sendRequest)
- I18N
- 运行时(connect,getManifest,getURL,id,onConnect,onMessage,sendMessage)
- 存储
- 定义的变量或函数
使用其扩展程序页面
- 使用由网页或其他内容脚本定义的变量或函数
您无法从https网页发送http请求,因为它受SOP限制,并且是浏览器行为。要解决此问题,您应该将您的http请求逻辑移动到后台页面并将服务器URL添加到权限,有关详细信息,请参阅我的以下答案。