私はウィジェットを作成しており、jQuery に依存しているため、サイト所有者も jQuery を実行しているページの問題を回避するために、noconflict を使用する必要があります。
私はこれまでのところこれを持っています:
(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が常にロードされていないことです..
残りがロードされる前にロードする必要があります