禁用iframe子頁面滑鼠右鍵

admin發表於2019-05-10

本文介紹一下如何禁用iframe子頁面的右鍵。

非常簡單的一個操作,網上也有很多介紹,但是絕大多數不能滿足需求。

大多數的解決方案是,給iframe引入的子頁面中新增如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
document.oncontextmenu=function(){ 
  return false
}

上述程式碼確實沒錯,能夠禁止iframe子頁面右鍵功能。

但是問題是如何將這段程式碼寫入子頁面,因為子頁面通常都是動態引入的。

下面就通過程式碼例項介紹一下,如何如果在父頁面為子頁面註冊對應事件處理函式

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
window.onload=function(){
  document.getElementById('iframe').contentDocument.oncontextmenu = function(){ 
    alert('本站禁止此操作');
    return false;
  } 
}

程式碼分析如下:

(1).window.onload事件不能少,防止iframe並沒有載入的時候就為其註冊事件處理函式。

(2)."iframe"是<iframe>元素的id屬性值,通過document.getElementById可以獲取此元素物件。

(3).然後利用contentDocument屬性可以獲取子頁面的進行相關操作。

(4).最後註冊contextmenu事件處理函式,返回return false即可禁用右鍵選單。

相關閱讀:

(1).contentDocument可以參閱contentWindow和contentDocument用法一章節。

(2). return false可以參閱JavaScript return false一章節。

相關文章