我正在尝试使用名为“MGC Chatbox Evo”的vBulletin插件。这个插件使用Dojo库,但是我在通过HTTPS工作时遇到了一些麻烦。
在插件中,库被称为:
$js .= '<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js" data-dojo-config="parseOnLoad: true"></script>';
这会通过HTTPS加载特别好的功能。然而,这随后似乎试图加载更多的文件,我可以在插件的源文件中找到绝对没有引用(在Notepad ++中使用find)。我想知道是否有人知道如何通过HTTPS而不是HTTP强制执行这些请求,因为它们当前正被自动阻止。感谢。
答案 0 :(得分:1)
您是否可以修改该脚本标记以加载Dojo 1.6.2而不是1.6.1?我想这可能会解决你的问题。
这就是原因。这来自1.6.1中未压缩的CDN版dojo.xd.js
:
dojo.registerModulePath("dojo", "http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo");
dojo.registerModulePath("dijit", "http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dijit");
dojo.registerModulePath("dojox", "http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojox");
然后这是1.6.2中的相同行:
dojo.registerModulePath("dojo", "//ajax.googleapis.com/ajax/libs/dojo/1.6.2/dojo");
dojo.registerModulePath("dijit", "//ajax.googleapis.com/ajax/libs/dojo/1.6.2/dijit");
dojo.registerModulePath("dojox", "//ajax.googleapis.com/ajax/libs/dojo/1.6.2/dojox");
这些路径指示Dojo在哪里加载通过dojo.require
请求的其他模块。请注意,1.6.1中的URL硬编码为http,但1.6.2中的URL是协议相关的。