异步安全加载javascript文件的方法
内容摘要
本文实例讲述了异步安全加载javascript文件的方法。分享给大家供大家参考。具体如下:
使用方法:
(function() {
__safeLoadScript("http://ajax.googleapis.com/ajax/libs
使用方法:
(function() {
__safeLoadScript("http://ajax.googleapis.com/ajax/libs
文章正文
本文实例讲述了异步安全加载javascript文件的方法。分享给大家供大家参考。具体如下:
使用方法:
1 2 3 4 5 | ( function () { __safeLoadScript( "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" , function () { alert(jQuery); }); })(); |
JavaScript实现代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | window.__safeLoadScript = function (src, callback) { function addEvent(obj, type, fn) { if (obj.attachEvent) { obj[ 'e' + type + fn] = fn; obj[type + fn] = function () { obj[ 'e' + type + fn](window.event); } obj.attachEvent( 'on' + type, obj[type + fn]); } else obj.addEventListener(type, fn, false); } function async_load(src, callback) { var s = document.createElement( 'script' ); s.type = 'text/javascript' ; s.async = true; var protocol = (( "https:" == document.location.protocol) ? "https://" : "http://" ); s.src = protocol + src; var x = document.getElementsByTagName( 'script' )[0]; x.parentNode.insertBefore(s, x); s.onload = s.onreadystatechange = function () { if (callback && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete" )) { callback(); } }; } addEvent(window, "load" , function () { async_load(src, callback); }); }; |
希望本文所述对大家的javascript程序设计有所帮助。
代码注释