从动态添加的脚本向父级Chrome扩展程序发送消息

时间:2013-03-02 12:55:07

标签: javascript google-chrome-extension

我有Script.js文件,它通过以下代码动态添加到youtube页面:

   var s = document.createElement('script');
    s.src = chrome.extension.getURL('Script.js');
    (document.head || document.documentElement).appendChild(s);
    s.onload = function () {
        s.parentNode.removeChild(s);
    };

我有两个问题:
1-如何将插入文件中的消息发送到父级chrome扩展。
2-如何从插入的文件中发出跨源请求..它在控制台中显示错误消息

Origin http://www.youtube.com is not allowed by Access-Control-Allow-Origin.

1 个答案:

答案 0 :(得分:0)

  1. 使用postMessage或自定义事件(example 1reference 2example 3)。
  2. permission添加到清单后,您可以从内容脚本启动跨站点请求。使用步骤1中的方法之一从网页调用内容脚本。确保您仅请求必要的权限(例如,如果您不需要访问所有URL,则不是*://*/*)并验证所有输入(以便恶意页面不会滥用您的扩展名)。