<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    讓我們的Javascript兼容多種瀏覽器

    隨著以Firefox為代表的第三方瀏覽器的興起,我們做的網(wǎng)站也不能再JUST?IE了,如果把原來的一些Javascript代碼放到IE以外的瀏覽器的話,往往都不能正常運(yùn)行或出錯(cuò),所以這里介紹一下怎么改進(jìn)我們的JS,讓它能更加規(guī)范,更加具有兼容性。

    示例代碼:
    <body><table?border="1"?cellspacing="0"?cellpadding="0"?id="apple"?>?<tbody>
    ??<tr>?????<td?id="banana"?style="color:red"?>不吃蘋果</td>??</tr>
    ?</tbody></table></body>
    盡量采用W3C?DOM?的寫法
    以前訪問對(duì)象可能是:
    document.all.apple?或者?apple
    現(xiàn)在應(yīng)該采用:
    document.getElementById("apple")?以ID來訪問對(duì)象,且一個(gè)ID在頁面中必須是唯一的
    document.getElementsByTagName("div")[0]?以標(biāo)簽名來訪問對(duì)象
    原來設(shè)置對(duì)象的屬性可能是:
    document.all.apple.width=100?或?apple.width=100
    現(xiàn)在應(yīng)該采用:
    document.getElementById("apple").setAttribute("width","100")
    document.getElementsByTagName("div")[0].setAttribute("width","100")
    訪問對(duì)象的屬性則采用:
    document.getElementById("apple").getAttribute("width")
    document.getElementsByTagName("div")[0].getAttribute("width")
    W3C?DOM在IE下的一些限制
    因?yàn)槠鹣鹊腎E占據(jù)整個(gè)瀏覽器95%的份額,沒有競(jìng)爭(zhēng)壓力,所以這位老大就硬是要玩點(diǎn)另類,不完全按WEB標(biāo)準(zhǔn)來搞。

    在IE下不能正確使用setAttribute來設(shè)置對(duì)象的style、class以及事件響應(yīng)屬性,
    因此我還得按原來的點(diǎn)記法來訪問和設(shè)置,以達(dá)到兼容各種瀏覽器的效果,如:
    document.getElementById("banana").class
    document.getElementById("banana").style.color
    document.getElementById("banana").onclick
    document.getElementById("banana").class="fruit"
    document.getElementById("banana").style.color="blue"
    document.getElementById("banana").onclick=?function?(){alert("我是香蕉")}
    關(guān)于Firefox下的onload問題
    function?over(){
    ?alert("頁面加載完畢")
    }

    正常情況下,我們賦與onload響應(yīng)函數(shù)是:
    document.body.onload=?over
    但是在Firefox下這樣無法執(zhí)行,
    所以我們都都采用下面這種形式:
    window.onload=over
    關(guān)于IE下TABLE無法插入新行的問題
    IE下TABLE無論是用innerHTML還是appendChild插入<tr>都沒有效果,而其他瀏覽器卻顯示正常。解決他的方法是,將<tr>加到TABLE的<tbody>元素中,如下面所示:

    var?row?=?document.createElement("tr");
    var?cell?=?document.createElement("td");
    var?cell_text?=?document.createTextNode("香蕉不吃蘋果");
    cell.appendChild(cell_text);
    row.appendChild(cell);
    document.getElementsByTagName("tbody")[0].appendChild(row);

    posted on 2006-07-19 11:25 國(guó)強(qiáng) 閱讀(536) 評(píng)論(1)  編輯  收藏 所屬分類: js

    評(píng)論

    # re: 讓我們的Javascript兼容多種瀏覽器 2008-12-18 11:55 陳必燕

    非常好的一篇文章,正為我所用,謝謝!  回復(fù)  更多評(píng)論   

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    java

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲激情视频在线观看| 久久亚洲2019中文字幕| 亚洲天堂中文字幕在线观看| 免费一级毛片无毒不卡| 亚洲AV无码久久寂寞少妇| 国产自国产自愉自愉免费24区| 亚洲精品无码久久久影院相关影片| 久久免费视频一区| 亚洲五月综合缴情在线观看| 999zyz**站免费毛片| 亚洲AV无码一区二区二三区软件| 日韩精品久久久久久免费| 亚洲黄色在线播放| 久久99九九国产免费看小说| 亚洲七久久之综合七久久| 亚洲AV无码乱码在线观看| 国产视频精品免费视频| 亚洲国产精品国自产电影| 国产免费不卡v片在线观看| 亚洲精品久久无码| 亚洲国产精品人人做人人爱| 久艹视频在线免费观看| 亚洲中文字幕无码av在线| 日本特黄a级高清免费大片| 成人精品综合免费视频| 亚洲国产人成在线观看69网站| 91精品国产免费久久久久久青草| 亚洲国产aⅴ成人精品无吗| 亚洲一级特黄大片无码毛片 | 相泽南亚洲一区二区在线播放| 亚洲欧洲久久av| 久久国产免费观看精品3| 亚洲av无码一区二区三区在线播放| 亚洲国产精品尤物YW在线观看| 无码精品人妻一区二区三区免费看 | 77777_亚洲午夜久久多人| 一二三四在线观看免费高清中文在线观看 | 欧洲乱码伦视频免费| 免费一级毛片在线播放放视频| 亚洲无线电影官网| 青青青青青青久久久免费观看|