0

我正在尝试将脚本包含到任何客户的页面中。我创建了 firefox 扩展,它用我的脚本在那里找到标签和 appendChild。这很好用。当客户端使用http页面时它可以工作(它正确加载并执行)但是当客户端使用https页面时它不起作用(它正确加载但不执行)。

我对 http 和 https 有相同的代码。在我的代码中,我没有特殊的 http 和 https 条件。有谁知道有什么问题?

我认为代码还可以,但是可以,示例:

注入脚本(在扩展中):

   var myScript = top.window.content.document.createElement('script');
   myScript.type = 'text/javascript';
   myScript.setAttribute('src','http://path/to/my/script.js');
   myScript.setAttribute('onload', 'firefoxInit()');
   top.window.content.document.getElementsByTagName('body')[0].appendChild(myScript);

要执行的代码:

var manipulate = (function(){
   alert('duper execute');
}());
4

1 回答 1

1

https 不会让您运行不安全的内容,例如来自非安全 url 的脚本,因此您的 http-hosted script.js 将不会被允许运行。当前版本的 Firefox 和 Chrome 中默认阻止混合内容(未勾选 IE)

于 2013-09-02T17:00:18.177 回答