未捕获的DOMException:阻止了带有原始Chrome扩展程序的框架

时间:2018-08-12 23:48:14

标签: javascript json google-chrome-extension manifest

我正在尝试创建Chrome扩展程序。 应用程序的对象: 打开新的弹出窗口并编辑内容和html 但它不起作用 它在控制台中向我显示此错误:

未捕获的DOMException:阻止了起源为“ chrome-extension:// pjnjcefdmacabhjhkkggfbcbdalfannl”的框架访问跨域框架。

manifest.json:

{
    "manifest_version": 2,
    "name": "Title!",
    "description": "Description...",
    "version": "1.0",

    "browser_action": {
        "default_icon": "images/email.png",
        "default_popup": "popup.html",
        "default_title": "Title",
        "matches": ["*://*.*/*"]
    },

    "permissions": [
    "webRequest",
    "storage",
    "*://*.*.*/*",
    "activeTab"
    ],

    "chrome_url_overrides": {
      "newtab" : "popup.html"
    },

    "content_scripts": [{
    "matches": [ "*://*.*/*" ],
    "js": [ "script.js" ],
    "all_frames": true
    }]

}

script.js :(错误部分)

myWindow = window.open("https://gmail.com", "", "width=900, height=500");

myWindow.document.getElementById("elementId1").value = variable1;
myWindow.document.getElementById("elementId2").value = variable2;

我无法获取或更改值, 我尝试了很多网址,但显示了相同的错误

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以向目标网站查询字符串参数传递无意义的内容,而不是从当前内容脚本中操作新窗口,以传递您的参数,并创建另一个具有include_globs "https://mail.google.*/*?myparam*"
在这个新的内容脚本中,您可以从查询字符串中获取参数,并将其设置为没有错误的字段。

PS:如果目标网站删除了未知的查询参数,则可以尝试锚定。