外部js文件仅在初始网站访问时加载,无法加载刷新 - 仅在Chrome中加载

时间:2014-11-28 08:35:11

标签: javascript google-chrome

有一点倒退的问题。我有一个条件脚本,在网站首次加载时加载,但是当我刷新时,它无法加载。我在这里感到很困惑,因为我的所有问题通常都是以另一种方式发生的。这是我的index.html文件开头的JS。请注意,我正在使用我在Stackoverflow上发现的这个hack来检测IE的版本,因为我试图加载的文件,如果它加载它会导致整个网站在IE上打破而不是只是部分它没有显示。该脚本适用于Google的聚合物platform.js,如果这有任何区别的话!

    <script>
        function detectIE() {
            var ua = window.navigator.userAgent;
            var msie = ua.indexOf('MSIE ');
            var trident = ua.indexOf('Trident/');

            if (msie > 0) {
                // IE 10 or older => return version number
                return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
            }

            if (trident > 0) {
                // IE 11 (or newer) => return version number
                var rv = ua.indexOf('rv:');
                return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
            }

            // other browser
            return false;
        }

        console.log(detectIE());

        if (detectIE() >= 1 && detectIE() <= 10) {
            console.log('this is below ie10');

        } else {
                var script = document.createElement('script');
                script.type = 'text/javascript';
                script.src = '/bower_components/platform/platform.js';
                document.getElementsByTagName('head')[0].appendChild(script);
        }
    </script>

基本上,platform.js脚本必须先在任何其他脚本之前加载,否则将无法加载使用Polymer平台完成的任何操作。为此,我将其附加到开头[0]的头标记。请注意,此脚本现在已经运行了4个月,并且最近刚刚在最近2天没有明显原因破坏了。我已经确定检测IE的脚本对此问题没有影响。

我真的不知道为什么它只会在第一次加载但是无法加载刷新。在这里严重亏本。我怀疑与Chrome的缓存方法有关,但我不确定。它每次都在Firefox / Safari / Opera / IE11上加载。

任何方向/帮助将不胜感激。谢谢!

0 个答案:

没有答案