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

禁用頁面部分JavaScript不是全部而是部分

 更新時間:2014年09月03日 16:09:47   投稿:whsnow  
全部限制那是很簡單的事,直接把<script>腳本塊過濾掉就行了,但是部分限制又是如何做到的呢,下面我們一起來看看

本文討論的方法本人并沒有在實際項目中應用過,因為我還沒有遇到有這樣需要的項目,但試驗發(fā)現可行。

一、我的想法來源

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

相關文章

  • 使用pjax實現無刷新更改頁面url

    使用pjax實現無刷新更改頁面url

    pjax=pushState+ajax,相信用過github的同學都知道,github部分頁面采用了pjax這個項目來實現ajax無刷新加載的同時改變頁面url。一起來學習一下這個插件吧。
    2015-02-02
  • 微信小程序利用swiper+css實現購物車商品刪除功能

    微信小程序利用swiper+css實現購物車商品刪除功能

    這篇文章主要介紹了微信小程序利用swiper+css實現購物車商品刪除功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • JS實現電商放大鏡效果

    JS實現電商放大鏡效果

    這篇文章主要為大家詳細介紹了JS實現電商放大鏡效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JS實現星星評分功能實例代碼(兩種方法)

    JS實現星星評分功能實例代碼(兩種方法)

    這篇文章主要介紹了JS實現星星評分功能實例代碼(兩種方法)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • JavaScript setTimeout()基本用法有哪些

    JavaScript setTimeout()基本用法有哪些

    這篇文章主要介紹了JavaScript setTimeout()基本用法有哪些,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • uniapp小程序開發(fā)組件封裝之自定義輪播圖效果

    uniapp小程序開發(fā)組件封裝之自定義輪播圖效果

    這篇文章主要介紹了uniapp小程序開發(fā)組件封裝之自定義輪播圖,本文主要展示小程序端封裝輪播圖組件,使用的是uniapp進行的開發(fā),主要使用的是uniapp官網提供的swiper組件,需要的朋友可以參考下
    2023-02-02
  • Javascript?原型與原型鏈深入詳解

    Javascript?原型與原型鏈深入詳解

    這篇文章主要介紹了Javascript原型與原型鏈深入詳解,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Javascript?Object對象類型使用詳解

    Javascript?Object對象類型使用詳解

    面向對象編程(Object?Oriented?Programming)將現實世界中的復雜關系抽象成一個個對象,通過對象之間的分工合作對現實世界進行模擬,這篇文章主要介紹了Javascript?Object對象類型使用詳解
    2022-10-10
  • JavaScript生成SQL查詢表單的方法

    JavaScript生成SQL查詢表單的方法

    這篇文章主要介紹了JavaScript生成SQL查詢表單的方法,涉及javascript頁面元素及字符串操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 在JavaScript中調用Java類和接口的方法

    在JavaScript中調用Java類和接口的方法

    這篇文章主要講述如何在JavaScript腳本語言中調用Java類和接口,對大家的學習和工作有一定的參考借鑒價值,有需要的朋友們下面來一起看看吧。
    2016-09-09

最新評論

紫云| 璧山县| 苏尼特左旗| 河西区| 河西区| 蒲城县| 新田县| 定襄县| 保山市| 湘潭县| 吴堡县| 新疆| 长葛市| 阿荣旗| 寻乌县| 崇州市| 滦平县| 浠水县| 南乐县| 炎陵县| 京山县| 新乡县| 绥滨县| 陆河县| 郧西县| 蒙城县| 含山县| 疏附县| 巴青县| 开化县| 福贡县| 恩平市| 河北区| 永寿县| 防城港市| 湘潭县| 图木舒克市| 高雄县| 太谷县| 赤壁市| 白朗县|