我正在尝试创建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;
我无法获取或更改值, 我尝试了很多网址,但显示了相同的错误
有什么帮助吗?
答案 0 :(得分:0)
您可以向目标网站查询字符串参数传递无意义的内容,而不是从当前内容脚本中操作新窗口,以传递您的参数,并创建另一个具有include_globs
"https://mail.google.*/*?myparam*"
在这个新的内容脚本中,您可以从查询字符串中获取参数,并将其设置为没有错误的字段。
PS:如果目标网站删除了未知的查询参数,则可以尝试锚定。