本文内のスクリプトから、jquery と SimpleModal をページ ヘッダーに動的に読み込みます。コールバックを使用して、呼び出しを行う前にjQueryが完全にロードされていることを確認します-これは機能します。ただし、SimpleModal スクリプト ファイルを動的にロードすると、後でそのメソッドを呼び出すことができません。SimpleModal スクリプトが遅延ロードされ、現在のドキュメント オブジェクトを参照できない場合に表示されます。どんな助けでも大歓迎です。
/******** Called once jQuery has loaded ******/
function scriptLoadHandler() {
jQuery = window.jQuery.noConflict(true);
main();
}
/******** Main function ********/
function main() {
jQuery(document).ready(function ($) {
var domain = 'http://qo.microssoftware.com';
/******* Load SimpleModal *******/
var script_tag = document.createElement('script');
script_tag.setAttribute("type", "text/javascript");
script_tag.setAttribute("src",
domain + "/js/simplemodal.js");
script_tag.onload = modalLoadHandler;
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
});
}
function modalLoadHandler() {
/******* Open Modal *******/
$.modal("<div><h1>SimpleModal</h1></div>", {});
}