0

    web产品浏览器兼容性问题你有考虑到吗?

    2023.07.11 | admin | 188次围观

    通常,动态网页除了Server端的代码撰写Client端代码也必须下不少工夫。例如:表单提交前的数据验证、图片的轮播、菜单的收合等等。

    因此,对于Client端是否能正常执行指令码也必须适当的考察浏览器兼容性问题面试,然而目前浏览器的种类繁多,对Java代码的解读也不同;所以如何撰写出能在大部份浏览器上正常执行的指令码是非常重要的,否则网页的跨平台性将会大打折扣。

    以目前较多人使用的IE及FireFox来说,有些指令码其实并不通用,所以在程序的撰写上必须要多加注意,因此有时候得视情况撰写替代的代码以增加兼容性。

    举例来说:

    指令:document.getElementsByName(“myID”)

    作用:找出所有ID=“myID”的元素遵回传Array

    虽然此一指令能够在IE上正常执行,但是到了FireFox上却是一点用也没有。

    因此,可以考虑将这些元素的ID额外加上编号x(x代表任意数字),然后在网页加载后,再使用document.getElementById(“myID_x”)将各个元素一一存进一个Array。

    属性:e.innerText

    作用:存取元素的文字内容

    在IE上,可以使用e.innerText =“测试内文”;来指定元素e的内容;但是在FireFox上,innerText这个属性却没办法正常使用。

    所幸还有一个属性innerHTML可以在两者正常执行,因此应该尽量使用innerHTML来替代innerText。

    参数:

    说明:tbCell为table的cell元素、tbRow为table的row元素

    下列指令码是在row元素中,插入一个cell元素,index为插入位置

    tbCell =tbRow.insertCell();//IE执行正常、FireFox则否

    tbCell =tbRow.insertCell(index);//IE、FireFox皆正常

    对于常使用Client端指令码来产生动态产生元素的程序员而言浏览器兼容性问题面试,选择较高兼容性的指令码来撰写虽然比较费时;但是至少能够确保大部份的使用者都能正常显示、操作,也能减少许多因为兼容性而衍生出来的问题,最后欢迎优秀的开发者入驻程序员客栈()

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论