我无法在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>