實(shí)例說明為什么不要行內(nèi)使用javascript
更新時(shí)間:2014年04月18日 11:33:35 作者:
不要行內(nèi)寫js是因?yàn)檫@樣很不安全,因?yàn)橛没鸷膄irebug可以輕松讓代碼失效,下面告訴大家為什么
很多人都曾經(jīng)這么使用Javascript
<a href="#" onclick="al()">保存</a>
上面的代碼,很方便使用,所有瀏覽器都支持
雖然我很早就看過一些書,說html,css,js分開來,比較容易維護(hù),但是我貪圖方面,還是經(jīng)常這么寫,不過我今天用火狐調(diào)試的時(shí)候發(fā)現(xiàn),還是不要行內(nèi)寫了,因?yàn)檫@樣很不安全,因?yàn)橛没鸷膄irebug可以輕松讓代碼失效!
下面看一下為什么:
<html>
<head>
<script>
function al()
{
alert("good");
}
</script>
</head>
<body>
<a href="#" onclick="al()">保存</a>
</body>
</html>
上面的代碼是點(diǎn)擊標(biāo)簽彈出對(duì)話框
效果如圖:
但是如果我在火狐里面找到a標(biāo)簽并把里面的js代碼去掉的話,在單擊a標(biāo)簽就不會(huì)彈出對(duì)話框了,如下圖
所以假如你這個(gè)單擊事件是判斷用戶輸入數(shù)據(jù)是否合法的話,那么就無法判斷了
本人是做asp.net的,今天就發(fā)現(xiàn)這個(gè)問題,因?yàn)閍sp.net服務(wù)器控件,有兩個(gè)單擊事件,一個(gè)前臺(tái)一個(gè)后臺(tái)的,我用前臺(tái)的單擊事件判斷用戶的輸入數(shù)據(jù),合法的話調(diào)用后臺(tái)事件,結(jié)果用火狐調(diào)試,就發(fā)現(xiàn)了上面介紹的現(xiàn)象,即使數(shù)據(jù)不合法也直接調(diào)用后臺(tái)方法了,也許我這個(gè)不是什么技術(shù),不過我為自己發(fā)現(xiàn)這個(gè)問題而高興,特此發(fā)文章分享一下,哈哈
解決方法:
給a標(biāo)簽個(gè)id ,如下面就可以了
<a id="a1" href="#">保存</a>
<script>
document.getElementById("a1").onclick=function(){}
</script>
復(fù)制代碼 代碼如下:
<a href="#" onclick="al()">保存</a>
上面的代碼,很方便使用,所有瀏覽器都支持
雖然我很早就看過一些書,說html,css,js分開來,比較容易維護(hù),但是我貪圖方面,還是經(jīng)常這么寫,不過我今天用火狐調(diào)試的時(shí)候發(fā)現(xiàn),還是不要行內(nèi)寫了,因?yàn)檫@樣很不安全,因?yàn)橛没鸷膄irebug可以輕松讓代碼失效!
下面看一下為什么:
復(fù)制代碼 代碼如下:
<html>
<head>
<script>
function al()
{
alert("good");
}
</script>
</head>
<body>
<a href="#" onclick="al()">保存</a>
</body>
</html>
上面的代碼是點(diǎn)擊標(biāo)簽彈出對(duì)話框
效果如圖:

但是如果我在火狐里面找到a標(biāo)簽并把里面的js代碼去掉的話,在單擊a標(biāo)簽就不會(huì)彈出對(duì)話框了,如下圖

所以假如你這個(gè)單擊事件是判斷用戶輸入數(shù)據(jù)是否合法的話,那么就無法判斷了
本人是做asp.net的,今天就發(fā)現(xiàn)這個(gè)問題,因?yàn)閍sp.net服務(wù)器控件,有兩個(gè)單擊事件,一個(gè)前臺(tái)一個(gè)后臺(tái)的,我用前臺(tái)的單擊事件判斷用戶的輸入數(shù)據(jù),合法的話調(diào)用后臺(tái)事件,結(jié)果用火狐調(diào)試,就發(fā)現(xiàn)了上面介紹的現(xiàn)象,即使數(shù)據(jù)不合法也直接調(diào)用后臺(tái)方法了,也許我這個(gè)不是什么技術(shù),不過我為自己發(fā)現(xiàn)這個(gè)問題而高興,特此發(fā)文章分享一下,哈哈
解決方法:
給a標(biāo)簽個(gè)id ,如下面就可以了
復(fù)制代碼 代碼如下:
<a id="a1" href="#">保存</a>
<script>
document.getElementById("a1").onclick=function(){}
</script>
相關(guān)文章
JS實(shí)現(xiàn)頁面鼠標(biāo)點(diǎn)擊出現(xiàn)圖片特效
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)頁面鼠標(biāo)點(diǎn)擊出現(xiàn)圖片特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08JS實(shí)現(xiàn)重新加載當(dāng)前頁面或者父頁面的幾種方法
本文介紹了JS實(shí)現(xiàn)重新加載當(dāng)前頁面或者父頁面的幾種方法.需要的朋友可以參考下2016-11-11js輸出數(shù)據(jù)精確到小數(shù)點(diǎn)后n位代碼
要保留小數(shù)點(diǎn)后N位的問題,經(jīng)過一番思索,終于解決了,這篇文章主要介紹了js輸出數(shù)據(jù)精確到小數(shù)點(diǎn)后n位代碼,感興趣的朋友可以參考一下2016-07-07JS解析json數(shù)據(jù)并將json字符串轉(zhuǎn)化為數(shù)組的實(shí)現(xiàn)方法
json數(shù)據(jù)在ajax實(shí)現(xiàn)異步交互時(shí)起到了很重要的作用,他可以返回請(qǐng)求的數(shù)據(jù),然后利用客戶端的js進(jìn)行解析,這一點(diǎn)體現(xiàn)出js的強(qiáng)大,本文介紹JS解析json數(shù)據(jù)并將json字符串轉(zhuǎn)化為數(shù)組的實(shí)現(xiàn)方法,需要了解的朋友可以參考下2012-12-12Ionic如何實(shí)現(xiàn)下拉刷新與上拉加載功能
在日常項(xiàng)目開發(fā)中我們經(jīng)常見到下拉刷新上拉加載的功能,接下來通過本文給大家介紹ionic如何實(shí)現(xiàn)下拉刷新與上拉加載的相關(guān)資料,需要的朋友可以參考下2016-06-06JavaScript獲取當(dāng)前頁面上的指定對(duì)象示例代碼
這篇文章主要介紹了JavaScript獲取當(dāng)前頁面上指定對(duì)象的方法,需要的朋友可以參考下2014-02-02用Fundebug插件記錄網(wǎng)絡(luò)請(qǐng)求異常的方法
這篇文章主要介紹了用Fundebug插件記錄網(wǎng)絡(luò)請(qǐng)求異常的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02