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上加载。
任何方向/帮助将不胜感激。谢谢!