【问题标题】:Chrome Extension Manifest issues with web_accessible_resources (Blocked)web_accessible_resources 的 Chrome 扩展清单问题(已阻止)
【发布时间】:2015-08-18 20:45:59
【问题描述】:

这是清单:

{
  "manifest_version": 2,

  "name": "JRBot Viz Extension",
  "description": "This extension will listen to a tab, then open the visualizer for the audio from that tab",
  "version": "1.0",
  "background":
    {
        "scripts": ["popup.js", "jquery-1.11.3.min.js"]
    },
  "browser_action": {
   "default_icon": "icon.png",
   "default_popup": "popup.html"
  },
  "web_accessible_resources": ["resources/*"],
  "permissions": [
   "activeTab",
   "http://*.google.com/",
   "https://*.googleapis.com/"
   ]
}

以下是单击扩展弹出窗口中的按钮时执行的脚本:

document.addEventListener('DOMContentLoaded', function() {
  var checkPageButton = document.getElementById('vizualizePage');
  checkPageButton.addEventListener('click', function() {

    chrome.tabs.getSelected(null, function(tab) {

        chrome.tabs.executeScript(null, {file: "jquery-1.11.3.min.js"});
        chrome.tabs.executeScript(null, {file: "addViz.js"});

    });

  }, false);
}, false);

这是执行的addViz.js 脚本:

d = document;     
var extUrl = chrome.extension.getURL("");

$('body').prepend('<div id="viz-div" style="background-color: #000; width: 100%; height: 100%; position: absolute; z-index: 100000;"></div>');
$('#viz-div').load(extUrl + 'resources/audio-circle.html');

所以,一切都按预期运行,直到它应该加载 resources/audio-circle.html

控制台说: Denying load of chrome-extension://[EXTENSION ID]/resources/audio-circle.html. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.

如您所见,资源文件夹在清单中声明为可通过网络访问,我已通过在新选项卡中打开引用的 url 确认位置正确,并显示 HTML 文档。

我尝试单独声明一个文件并删除通配符,但这并没有改变任何东西。

我也尝试将资源放在扩展根目录中,但还是一样。

关于web_accessible_resource 的正确用法,我已经用尽了所有可以在互联网上找到的资源(没有太多),但我仍然找不到解决方案。

有什么想法我在这里出错了吗?

【问题讨论】:

  • 你是否在修改 manifest.json 后重新加载了你的扩展?如果没有,请这样做,问题就会消失。
  • 是的。这是我每次做的第一件事,错误消息反映了我对路径等所做的任何更改......
  • 有什么解决办法吗?它也发生在我身上
  • 我投票决定将此问题作为题外话结束,因为该项目不再存在,即使给出了正确答案,也无法再验证它是否正确。这似乎特定于我的项目和我的环境。

标签: javascript google-chrome-extension same-origin-policy


【解决方案1】:

关闭并重新打开 Chrome 为我解决了这个问题

【讨论】:

  • 这是一个非常古老的问题,对于不再使用的 chrome 和库版本。您的答案对遇到类似问题的其他人到底有多大用处?为您解决了什么问题?你的问题和这个有什么关系?
  • @JRadtheBad 因为这个问题仍然发生并且发生在我身上——这就是我开始回答这个问题的方式。它完全解决了问题中提到的问题。否决您想要的所有内容,但如果有人可能会觉得它有帮助并为他节省一些时间,我很乐意这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
  • 2021-03-14
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 2020-04-14
相关资源
最近更新 更多