3

我正在开发一个 https 网站,一个与我的网站完全无关的插件(请求 http 元素)导致了安全问题。

我已禁用 (Windows) Internet 选项 -> 安全 -> 混合模式(这样我们就无法从 https 站点获取 http 资源)。

有了这个限制,只要我在 https 站点上,IE9 就会中止由插件运行的脚本,请求 http 元素(在这种情况下,有问题的插件是http://www.freemake.com/视频下载器)。控制台输出: SEC7111:HTTPS 安全性受到http://download.freemake.com/images/arrow.png -link to my https site- SCRIPT16388: Operation aborted 此中止发生/end-of $(document).ready之后(...)。

然而接下来发生的事情让我有些头疼…… SCRIPT438:对象不支持属性或方法“cookie” 这是指 $.cookie 函数(它也发生在许多其他 jQuery 函数中)。

jQuery 的各种功能似乎都被禁用或删除了。我在上述中止操作之前运行了一些控制台日志: LOG: jQuery.cookie >>> true LOG: $.cookie >>> true LOG: jQuery >>> true LOG: $ >>> true

如您所见,它们存在。中止操作后,我再次调用日志:

LOG:jQuery.cookie >>> false LOG:$.cookie >>> false LOG:jQuery >>> true LOG:$ >>> true

插件脚本的中止操作如何影响我的网站?该站点托管它自己的 jQuery 库。

4

1 回答 1

1

他们很可能正在共享相同的全局变量“$”以将其从全局范围使用中删除

jQuery.noConflict();

然后将它分配给这样的新变量

$j = jQuery;

于 2013-09-30T13:16:12.650 回答