繁体   English   中英

防止在IE6中包含javascript

[英]Prevent javascript include in IE6

我很想听听你对这个特殊问题的看法:

我正在使用LinkedIn的按钮功能,它是这样的:

<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/profile" data-format="click" data-text="LinkedIn Profile"></script>

唯一的问题是它在IE6中渲染效果非常差,所以我想要做的就是隐藏IE6中的那个按钮,我想过在这里使用<!--[if gte IE 7]>Javascript code here<![endif]-->但是这也会阻止它在IE之外的任何其他浏览器中加载,另一种选择是使用jquery: if($.browser.msie && $.browser.version=="6.0"){ }但我怎么做,与SRC JavaScript文件?

有什么想法吗? 谢谢!

你说你试过这个:

<!--[if gte IE 7]>Javascript code here<![endif]-->

正如您所说,这将阻止非IE浏览器查看脚本。

但是有一种方法可以指定其他浏览器会忽略的条件注释。 您需要做的就是删除使其成为注释的连字符,如下所示:

<![if gte IE 7]>Javascript code here<![endif]>

这将在除IE之前的IE之外的所有浏览器中使用。

有关更多信息,请参见http://en.wikipedia.org/wiki/Conditional_comment

(顺便说一下,关于主题,我相信你已经听过这一百万次了,但我会认真地建议放弃对IE6的支持 - 实际上没有人再使用它了)

试试这个

<!--[if ! lte IE 6]>Javascript code here<![endif]-->

或类似的东西

<!--[if (!IE)|(IE gt 6)]>Javascript code here<![endif]-->
if(! IE6){
    var script = document.createElement("script");
    script.src = "src_to_js_file";
    document.body.appendChild(script);
}

或者只使用innerHTML将两个脚本标记添加到DOM。

您可以使用jQuery的getScript方法

if(!($.browser.msie && $.browser.version=="6.0"))
    $.getScript('http://platform.linkedin.com/in.js');
if($.browser.msie && $.browser.version=="6.0"){
  $('head').append('<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script><script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/profile" data-format="click" data-text="LinkedIn Profile"></script>')
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM