麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

禁用頁面部分JavaScript方法的具體實現

2019-11-20 22:29:05
字體:
來源:轉載
供稿:網友
本文討論的方法本人并沒有在實際項目中應用過,因為我還沒有遇到有這樣需要的項目,但試驗發現可行。

一、我的想法來源

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

因為我在之前的項目中沒有遇到這樣的問題,所以也沒有作過多的深入研究,一開始只是憑感覺想到用“替換”方法。很顯然這樣的方法行不通,因為可能會出錯。比如我要禁用alert方法,現有下面那段代碼:
復制代碼 代碼如下:

window.alert('Some message');

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

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

二、具體實現

先看下面的代碼,實現了對“alert”,“write”兩個方法的禁用:
復制代碼 代碼如下:

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

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

看起來真的很簡單,在實際應用的時候,把前面兩行單獨抽出來存在一個外部JS文件中,并在需要過濾JavaScript方法的頁面先加載這個JS文件(也可以在用戶編輯內容塊的前一行加載這個腳本,這樣之前的HTML塊中我們管理員或網頁制作者還是可以用將要被禁用的方法),這樣之后調用被禁用的方法是不起作用的了。

注意:最后提醒一下,還要禁用部分DOM操作方法,比如remove()方法,因為用戶可以用DOM的操作方法移除你一開始加載的那個JS文件。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲九九爱 | 一区二区久久 | caoporn国产一区二区 | 久久久久免费精品国产小说色大师 | 一本色道久久综合狠狠躁篇适合什么人看 | 羞羞的 | 免费久久久 | 日本不卡中文字幕 | 黄色电影免费网址 | 黄色免费在线视频网站 | 黄色片免费在线播放 | 中文字幕在线观看精品 | 欧美三级欧美成人高清www | 国产高潮好爽好大受不了了 | 97久久精品一区二区三区观看 | 久久资源总站 | av电影免费看 | 黄色成人短视频 | 牛牛视频在线 | 叉逼视频| 久久久成人999亚洲区美女 | 成人福利在线 | 他也色在线视频 | 国产精品久久久久久久不卡 | 久久久久久麻豆 | 久久精品电影网 | www.91操| 毛片免费观看日本中文 | 91aa.app| 欧美黄色免费视频 | 欧美日韩视频网站 | 免费国产羞羞网站视频 | 欧美人与禽性xxxxx杂性 | 国产激情精品一区二区三区 | 4p嗯啊巨肉寝室调教男男视频 | 欧美日韩中文字幕在线视频 | 在线成人一区二区 | 久久久国产精品成人免费 | 在线成人免费观看视频 | 欧产日产国产精品乱噜噜 | 欧美精品一区二区三区久久久 |