[英]If Internet Explorer - Add Script
如果用户使用 Internet Explorer,我正在尝试动态添加脚本。 我试过 IE Conditionals,但 chrome 不喜欢!IE
标签,所以我正在尝试 jquery 方式:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" ></script>
<script type="text/javascript">
if($.browser.msie){
document.write('<script type="text/javascript" src="ie/ieFix.js" ></script>');
}
else{
document.write('<script type="text/javascript" src="dynamic.js" ></script>');
}
</script>
我不确定为什么它不让我添加它,而是返回'); } else{ document.write(''); }
'); } else{ document.write(''); }
将它们放入变量中具有相同的效果:/
IE 条件语句
<!--[if !ie]>-->
<script type="text/javascript" src="dynamic.js" ></script>
<!--<![endif]-->
<!--[if ie]>-->
<script type="text/javascript" src="ie/ieFix.js" ></script>
<!--<![endif]-->
该行中的</script>
document.write('<script type="text/javascript" src="ie/ieFix.js" ></script>');
实际上匹配作为结束标记
<script type="text/javascript">
在它上面的线上。 你应该把它改写成类似的东西
document.write('<script type="text/javascript" src="ie/ieFix.js" ></scr' + 'ipt>');
这样您就不会将浏览器与结束</script>
标签混淆。
任何 IE 检查
function detectIEEdge() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
if (msie > 0) {
// IE 10 or older => return version number
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
}
var trident = ua.indexOf('Trident/');
if (trident > 0) {
// IE 11 => return version number
var rv = ua.indexOf('rv:');
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
}
var edge = ua.indexOf('Edge/');
if (edge > 0) {
// Edge => return version number
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
}
// other browser
return false;
}
如果操作正确,Chrome 可与!IE
配合使用:
<!--[if !ie]>-->
Put stuff for non-IE browsers here
<!--<![endif]-->
您在上面的代码中遇到问题的原因是 HTML 解析器将</script>
视为</script>
的结尾而不是字符串的一部分。 人们通常通过使用<\\/script>
来解决这个问题。
更新:您现在做错了“如果 IE”。
<!--[if ie]>
IE stuff - this is a "conditional reveal"
<![endif]-->
<!--[if !ie]>-->
Non-IE stuff - this is a "conditional hide"
<!--<![endif]-->
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.