我正在编写一个小部件并且依赖于 jQuery,所以我需要使用 noconflict 以避免网站所有者也在运行 jQuery 的页面出现问题。
到目前为止我有这个:
(function () {
var js13;
var script = document.createElement('script');
script.src = 'http://xxx.xxx.xxx.xxx:8080/socket.io/socket.io.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-1.8.3.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
var script = document.createElement('script');
script.src = 'http://code.jquery.com/ui/1.9.2/jquery-ui.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
script.onload = scriptLoadHandler;
function scriptLoadHandler() {
js13 = window.jQuery.noConflict(true);
main();
}
/******** Main function ********/
function main() {
js13(document).ready(function ($) {
main widget code is here.....
} // main
})();
有什么想法可能是错的吗?我得到(Safari):
Type Issue
'undefined' is not an object (evaluating 'window.jQuery.noConflict')
需要它在所有浏览器中工作,无论页面运行什么 jQuery 或其他脚本。
另一个问题是http://xxx.xxx.xxx.xxx:8080/socket.io/socket.io.js并不总是加载..
我需要在其他加载之前加载