加载中…
正文 字体大小:

关于Lodop在火狐浏览器下的DTD问题

(2011-01-07 22:22:16)
标签:

打印控件

xhtml

规范

lodop

dtd

火狐

strict

transitional

frameset

it

杂谈

【本文发表于2009年12月09日,2011年1月7日原文搬家到此   

   一些细心的程序员会发现,如果页面进行了DTD声明,Lodop在火狐浏览器下就不能使用,甚至(老版本的)样例也一样。其实这是一个脚本规范问题,很容易解决,但却是个大话题。

    DTD是“文档类型定义”的意思,用它可以进行XHTML文档的类型声明,一般在文档首行,典型语句如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    其作用有点类似于在国际场合说话前的语言说明,例如“下面我用汉语普通话发言”,如果后面掺杂

着日文,人家当翻译的就糊涂了...以上DTD声明的意思是“本文档的脚本符合XHTML规范,文档类型是Strict(严格类型)”,XHTML还有另外两个文档类型TRANSITIONAL 和 FRAMESET(详细解释可以参见w3school) ,但无论哪个类型,XHTML规范都要求一个元素的引用要以 document.getElementById("id值")的格式,不能用传统的简单id值(例如 LODOP) 格式,而槽糕的是,IE系列及IE内核类的浏览器并没有严格执行这一点,而木讷的火狐却严格执行了。造成的后果是,同样的页面脚本,在IE下可以,在火狐下却不行,Lodop也受到牵连。

    如此说来,解决Lodop在火狐浏览器下DTD声明后脚本问题的简单办法如下:

把页面代码中的所有 LODOP. (注意其中包含一个点)全部替换成 document.getElementById("LODOP"). (也包含点)就OK了。

    可以在线看看著名样例二修改后的演示(用火狐看哟),或下载最新版本看看新样例更简单的解决办法。

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有