Polyfill用于在]中加载脚本标签>

问题描述 投票:0回答:1

我正在尝试使用此功能将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 = ...

javascript safari onload head on-the-fly
1个回答
0
投票

这是我的版本,可在IE 8(TypeScript)中使用:

© www.soinside.com 2019 - 2024. All rights reserved.