我正在尝试使用此功能将javascript延迟加载到头部:
function bfLoadScripts(strPath) { var r = false; var scriptTag = document.createElement('script'); scriptTag.src = strPath; scriptTag.type = 'text/javascript'; scriptTag.addEventListener('load',function() { //alert('JS loaded'); r = true; }); var headTag = document.getElementsByTagName('head')[0]; headTag.appendChild(scriptTag); }
它可以在FF(最新),Chrome(最新),IE 11中运行,但不能在Safari iOS 5.1和Safari PC上运行。
我之前尝试过,但Safari也不支持:
scriptTag.onload = scriptTag.onreadystatechange = function() { if ( !r && (!this.readyState || this.readyState == 'complete') ) { r = true; };
“ onload”事件是否有一个polyfill?或不同地问:这样做是否有完全不同的方式?使用库,插件等不会使整个过程超载。
我正在尝试使用以下函数将javascript延迟加载到头部:function bfLoadScripts(strPath){var r = false; var scriptTag = document.createElement('script'); scriptTag.src = ...
这是我的版本,可在IE 8(TypeScript)中使用: