今日、私はインターネット上にJSファイルを動的にロードできるJSローダーを見つけました。特定のコードは次のとおりです。
jsloader.js
var minisite = new object();/*** Judge browser*/minisite.browser = {ie:/msie/.test(window.navigator.useragent.tolowercase())、moz:/gecko/.test(window.navigator.useragent.tolowarcase()、 Opera:/Opera/.test(window.navigator.useragent.tolowercase())、safari:/safari/.test(window.navigator.useragent.tolowercase()};/*** jsloaderオブジェクトは、外部jsファイル*/minisite.jslodoloader.jssoloader.jssoloader.jssoloader.jssoloadert.jssolodytロードされる* @fcallback jsロード後の処理関数*/load:function(surl、fcallback){var _script = document.createelement( 'script'); _script.setattribute( 'charset'、 'gbk'); _script.setattribute( 'type'、 'text/javascript'); _script.setattribute( 'src'、surl); document.getElementsByTagname( 'head')[]。appendChild(_script); if(minisite.browser.ie){_script.oneadystatechange = function(){if(this.readystate == 'loaded' || this.readystaate == 'complete'){// fcallback(); if(fcallback!= undefined){fcallback(); }}}; } else if(minisite.browser.moz){_script.onload = function(){// fcallback(); if(fcallback!= undefined){fcallback(); }}; } else {// fcallback(); if(fcallback!= undefined){fcallback(); }}}};jsloader.jsテスト
<!doctype html> <html> <head> <! - jsローダーの紹介 - > <スクリプトタイプ= "text/javascript" src = "js/jsloader.js"> </script> <title> jsloadertest.html </title> <script = "text/javascript"> if(minisite.brows.er. jsminisite.jsloader.load( "js/jquery -... js"、function(){alert( "dynamic loading is jquery -... js"); $(function(){alert( "Jquery-..。Js");});}); } else {minisite.jsloader.load( "js/jquery -... js"、function(){alert( "lynamic loading is jquery-..。js"); $(function(){alert( "jquery -... JS処理操作jQuery -... js ");});});}テスト結果は次のとおりです。