禁用iframe内PDF的复制、剪切、粘贴和右键单击



我无法在iframe 中禁用PDF的复制、剪切、粘贴和右键单击操作

我的iframe 代码

<iframe id="pdfViewer" src="url-pdf.pdf#toolbar=0&navpanes=0&scrollbar=0" title="Title PDF" frameborder="0" scrolling="auto"  class="no-right-click no-cut-copy-paste" height="400px" width="100%" style="border: 30px solid #EEE"></iframe>

我尝试了很多解决方案,但没有人为我工作

我尝试过使用的一些解决方案

1.css

.no-cut-copy-paste {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

2.Javascript

var pdfViewer = document.getElementById('pdfViewer');
pdfViewer.window.eval('document.addEventListener("contextmenu", function (e) {e.preventDefault();}, false)');
$(document).on('cut copy paste', '.no-cut-copy-paste',  function(e) {
e.preventDefault();
return false;
});

3.jQuery

$('#pdfViewer').attr('contextmenu', 'return false')

但我的应用程序的所有页面都有工作,但右键单击iframe 仍然有效

document.oncontextmenu = function() { 
return false; 
};

<html>
<head>
<title>Disable Context Menu</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script type="text/jscript">
function injectJS(){    
var frame =  $('iframe');
var contents =  frame.contents();
var body = contents.find('body').attr("oncontextmenu", "return false");
var body = contents.find('body').append('<div>New Div</div>');    
}
</script>
</head>
<body >
<iframe id="myiframe" width="528" height="473"  onload="injectJS()"
></iframe>
</body>
</html>

最新更新