飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

解决Firefox不支持Js的InnerHtml问题

Author:flymorn Source:Flymorn
Categories:网站设计 PostTime:2010-4-24 9:34:02
正 文:
    由于W3C标准对Javascript语法进行了规范,即ECMAScript。而Firefox严格遵守ECMAScript规范,所以对javascript一些属性和方法不支持(其实不能说是Firefox不支持,而是对不规范的写法不支持,符合标准的写法还是支持的),Firefox希望程序设计师都采用规范的ECMAScript标准来书写代码,这样一些适应传统习惯的IE下的写法就会撞到很多的问题。

    比如飘易经常使用的利用JS的InnerHtml属性动态替换广告代码的写法就在Firefox浏览器下不支持了。如飘易的这个文章:网站加载广告大提速,广告不再烦,在Firefox下就不能正确替换了。

    原来的代码如下:
<span id="ad_1"></span>
<SPAN id="ad_11" style="visibility:hidden;">
<script language="JavaScript" src="/js/ad_1.js"></script>
</SPAN>
<SCRIPT>ad_1.innerHTML=ad_11.innerHTML;ad_11.innerHTML="";</SCRIPT>

    上面的代码在IE、chrome等浏览器下可以被正确的执行替换,而在Firefox下就不能。其实解决方法也很简单,就让我们按照ECMAScript规范写代码即可。上面的代码修正为下面的即可:

<span id="ad_1"></span>
<SPAN id="ad_11" style="visibility:hidden;">
<script language="JavaScript" src="/js/ad_1.js"></script>
</SPAN>
<SCRIPT>document.getElementById("ad_1").innerHTML=document.getElementById("ad_11").innerHTML;document.getElementById("ad_11").innerHTML="";</SCRIPT>

     不要直接使用DIV或SPAN的id,而是通过 document.getElementById("div_id") 来执行替换即可。另外,Firefox是不支持 innerTEXT 属性的。
作者:flymorn
来源:Flymorn
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:Php比较字符串相似度函数的利用
下一篇:DIV+CSS圆角的简单实现方法(图)
4条评论 “解决Firefox不支持Js的InnerHtml问题”
2010-4-24 13:04:39
博客名称:落叶知秋
博客地址:http://www.luckylvyou.com/
博客描述:原创博客有故事的生活我的心灵视窗!
博主名称:吕游
博主QQ:  55895507
博主E-mail:luckylvyou@gmail.com

落叶知秋开博三年原创诗歌五百多篇,希望能和贵博做个链接。

如果做连接的话,在贵博客添加一下落叶知秋的连接信息,在劳驾去我博客申请一下。


不妨去我博客看看。感觉博主的博客很不错。很希望能作邻居经常串门
2 Flymorn
2010-4-24 22:07:06
to:落叶知秋 ,你的链接已在首页添加。
2010-4-27 17:55:59
呃,我的博客也有这方面的介绍。
2010-5-14 18:40:59
好方法,学习了
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号