今天反饋過來一個(gè)BUG,說一個(gè)頁面的功能用不了。打開控制臺(tái)發(fā)現(xiàn)報(bào)錯(cuò):object is not a function。
感覺很奇怪,這塊的功能最新沒動(dòng)過怎么會(huì)突然出問題了呢?上線時(shí)主流瀏覽器都測(cè)試過了呀。
雖然奇怪,但是還的解決問題。看著代碼發(fā)現(xiàn)一個(gè)radio對(duì)象的name屬性和一個(gè)function name重名了。代碼如下:
<body> <input type="radio" name="test" onclick="test();"/> <br/> <form action=""> <input type="radio" name="test" onclick="test();"/> </form> </body> <script type="text/javascript"> function test(){ alert("11"); }</script>修改了函數(shù)名稱,解決了問題。但是沒找到根源,因?yàn)檫@個(gè)函數(shù)名以前就是這樣的,可以正常使用。修改代碼
onclick="alert(test);"
發(fā)現(xiàn)彈出“object HTMLInputElement”,瀏覽器解析test變?yōu)閐om對(duì)象了。
在script腳本test函數(shù)后alert(test);還是一個(gè)function。
查看svn版本發(fā)現(xiàn),是我做另一個(gè)功能的時(shí)候加了一個(gè)form表單把這個(gè)radio包起來了。導(dǎo)致瀏覽器解析出錯(cuò)了。
總結(jié):不一定沒改動(dòng)的代碼就沒問題,說不定改動(dòng)的地方引起了別的問題。有些瀏覽器兼容性問題都是代碼不規(guī)范導(dǎo)致的,以后寫代碼要規(guī)范!
哪位大牛如果知道為什么加了form瀏覽器解析出問題,能告訴我下。感激不盡!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注