最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

禁用頁(yè)面部分JavaScript方法的具體實(shí)現(xiàn)

 更新時(shí)間:2013年07月31日 17:23:30   作者:  
方法重寫(xiě),重寫(xiě)要禁用的方法,并讓它什么也不做,結(jié)果證明真的可行,但并不知道是不是一個(gè)科學(xué)的方法,我拿出來(lái)與大家共同討論一下
本文討論的方法本人并沒(méi)有在實(shí)際項(xiàng)目中應(yīng)用過(guò),因?yàn)槲疫€沒(méi)有遇到有這樣需要的項(xiàng)目,但試驗(yàn)發(fā)現(xiàn)可行。

一、我的想法來(lái)源

JavaScipt是好東西,它的出現(xiàn)讓網(wǎng)頁(yè)頁(yè)面表現(xiàn)形式更活潑,當(dāng)然好處絕不僅僅就這些,而近些年來(lái)紅紅火火的AJAX應(yīng)用更讓人開(kāi)始重視JavaScipt小語(yǔ)言(好些程序牛人不把它看作語(yǔ)言,最多是腳本稱號(hào),甚至看不起搞腳本的人)的應(yīng)用?,F(xiàn)在好些博客官網(wǎng)開(kāi)放腳本權(quán)限,允許用戶自定義腳本來(lái)豐富自己的空間,特別像一些技術(shù)類專業(yè)博客,提供了相當(dāng)寬松的開(kāi)發(fā)環(huán)境。但是我們也發(fā)現(xiàn)好些博客會(huì)對(duì)某些腳本方法作限制。注意,我這里說(shuō)的是部分限制,如果是全部限制那是很簡(jiǎn)單的事,直接把<script>腳本塊過(guò)濾掉就行了,但是部分限制又是如何做到的呢?

因?yàn)槲以谥暗捻?xiàng)目中沒(méi)有遇到這樣的問(wèn)題,所以也沒(méi)有作過(guò)多的深入研究,一開(kāi)始只是憑感覺(jué)想到用“替換”方法。很顯然這樣的方法行不通,因?yàn)榭赡軙?huì)出錯(cuò)。比如我要禁用alert方法,現(xiàn)有下面那段代碼:
復(fù)制代碼 代碼如下:

window.alert('Some message');

現(xiàn)在要讓上面那段代碼失效,只要讓alert變一下就行了,比如把它全部改成大寫(xiě)ALERT,這樣又肯定會(huì)報(bào)腳本錯(cuò)誤的,但還是可以用try{}catch{}把ALERT包含起來(lái),但這對(duì)禁用語(yǔ)包的識(shí)別又是一大難題,而且還會(huì)有這樣的錯(cuò)誤:把document.write('alert some message');中的alert也替換了。

后來(lái)我想到了方法重寫(xiě),重寫(xiě)要禁用的方法,并讓它什么也不做,結(jié)果證明真的可行,但并不知道是不是一個(gè)科學(xué)的方法,我拿出來(lái)與大家共同討論一下。

二、具體實(shí)現(xiàn)

先看下面的代碼,實(shí)現(xiàn)了對(duì)“alert”,“write”兩個(gè)方法的禁用:
復(fù)制代碼 代碼如下:

window.alert=function(){}
document.write=function(){}

window.alert('Alert some message');
document.write('Write some message');

看起來(lái)真的很簡(jiǎn)單,在實(shí)際應(yīng)用的時(shí)候,把前面兩行單獨(dú)抽出來(lái)存在一個(gè)外部JS文件中,并在需要過(guò)濾JavaScript方法的頁(yè)面先加載這個(gè)JS文件(也可以在用戶編輯內(nèi)容塊的前一行加載這個(gè)腳本,這樣之前的HTML塊中我們管理員或網(wǎng)頁(yè)制作者還是可以用將要被禁用的方法),這樣之后調(diào)用被禁用的方法是不起作用的了。

注意:最后提醒一下,還要禁用部分DOM操作方法,比如remove()方法,因?yàn)橛脩艨梢杂肈OM的操作方法移除你一開(kāi)始加載的那個(gè)JS文件。

相關(guān)文章

  • 原生JS利用transform實(shí)現(xiàn)banner的無(wú)限滾動(dòng)示例代碼

    原生JS利用transform實(shí)現(xiàn)banner的無(wú)限滾動(dòng)示例代碼

    這篇文章主要介紹了原生JS利用transform實(shí)現(xiàn)banner的無(wú)限滾動(dòng)示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • ymyang 繪圖 實(shí)例代碼

    ymyang 繪圖 實(shí)例代碼

    非常不錯(cuò)的ymyang 繪圖效果代碼。
    2009-04-04
  • JS獲取幾種URL地址的方法小結(jié)

    JS獲取幾種URL地址的方法小結(jié)

    本篇文章主要是對(duì)JS獲取幾種URL地址的方法進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-02-02
  • 一個(gè)php+js實(shí)時(shí)顯示時(shí)間問(wèn)題

    一個(gè)php+js實(shí)時(shí)顯示時(shí)間問(wèn)題

    本文給大家分享的是解決的php+js實(shí)時(shí)顯示時(shí)間問(wèn)題,主要是自己當(dāng)時(shí)的理解有問(wèn)題,也許大家有和我一樣的情況,這里分享給大家
    2015-10-10
  • SWFUpload多文件上傳及文件個(gè)數(shù)限制的方法

    SWFUpload多文件上傳及文件個(gè)數(shù)限制的方法

    這篇文章主要介紹了SWFUpload多文件上傳及文件個(gè)數(shù)限制的方法,較為詳細(xì)的分析了SWFUpload組件實(shí)現(xiàn)多文件上傳的原理、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-05-05
  • webpack4的遷移的使用方法

    webpack4的遷移的使用方法

    本篇文章主要介紹了webpack4的遷移的使用方法,主要介紹了如何從webpack1.x升級(jí)到4.x,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • JavaScript函數(shù)式編程(Functional Programming)高階函數(shù)(Higher order functions)用法分析

    JavaScript函數(shù)式編程(Functional Programming)高階函數(shù)(Higher order fun

    這篇文章主要介紹了JavaScript函數(shù)式編程(Functional Programming)高階函數(shù)(Higher order functions),結(jié)合實(shí)例形式分析了javascript函數(shù)式編程高級(jí)函數(shù)的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • 詳解webpack與SPA實(shí)踐之開(kāi)發(fā)環(huán)境搭建

    詳解webpack與SPA實(shí)踐之開(kāi)發(fā)環(huán)境搭建

    這篇文章主要介紹了詳解webpack與SPA實(shí)踐之開(kāi)發(fā)環(huán)境搭建,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 奉獻(xiàn)給JavaScript初學(xué)者的編寫(xiě)開(kāi)發(fā)的七個(gè)細(xì)節(jié)

    奉獻(xiàn)給JavaScript初學(xué)者的編寫(xiě)開(kāi)發(fā)的七個(gè)細(xì)節(jié)

    每種語(yǔ)言都有它特別的地方,對(duì)于JavaScript來(lái)說(shuō),使用var就可以聲明任意類型的變量,這門腳本語(yǔ)言看起來(lái)很簡(jiǎn)單,然而想要寫(xiě)出優(yōu)雅的代碼卻是需要不斷積累經(jīng)驗(yàn)的。本文利列舉了JavaScript初學(xué)者應(yīng)該注意的七個(gè)細(xì)節(jié),與大家分享。
    2011-01-01
  • js實(shí)現(xiàn)的后臺(tái)左側(cè)管理菜單代碼

    js實(shí)現(xiàn)的后臺(tái)左側(cè)管理菜單代碼

    這篇文章主要介紹了js實(shí)現(xiàn)的后臺(tái)左側(cè)管理菜單代碼,可實(shí)現(xiàn)美觀大氣的左側(cè)折疊菜單效果,涉及JavaScript基于鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式變換的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-09-09

最新評(píng)論

永寿县| 孝昌县| 台湾省| 涟水县| 莱西市| 庄河市| 临西县| 佛坪县| 东港市| 子洲县| 白水县| 喜德县| 孙吴县| 邵武市| 阿克苏市| 华阴市| 宣化县| 沁阳市| 格尔木市| 合肥市| 土默特右旗| 故城县| 仲巴县| 高淳县| 广宗县| 晴隆县| 抚顺县| 榆中县| 嘉黎县| 万荣县| 洱源县| 凤阳县| 永寿县| 辉县市| 贵德县| 灵璧县| 肇东市| 剑川县| 灵石县| 宜章县| 湖州市|