【发布时间】:2014-12-22 08:44:36
【问题描述】:
我在 MVC Web 应用程序的 IFrame 上显示了一个文档内容。内容不得复制和打印。我尝试使用两个函数 style="pointer-events:none;" 禁用右键单击Iframe 的 oncontextmenu="return false" 工作正常。 但是在右键单击时,会显示“查看框架源”、“查看源”的弹出窗口。我怎么能限制这个。! 另外,如何限制打印屏幕选项。我知道还有其他实用程序,任何人都可以从中捕获数据。但是客户想限制打印屏幕选项。
<script lang=JavaScript>
function clickIE() {
if (document.all) {
return false;
}
}
function clickNS(e) {
if (document.layers || (document.getElementById && !document.all)) {
if (e.which == 2 || e.which == 3) {
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = clickNS;`enter code here`
}
else {
document.onmouseup = clickNS;
document.oncontextmenu = clickIE;
}
document.oncontextmenu = new Function("return false")
<body oncontextmenu="return false" onkeydown="if ((arguments[0] || window.event).ctrlKey) return false" >
<div id="div1" style="background-color:Red; height:120px">
<iframe id="id1" src="" name="I1" scrolling="no" height="100%" width="100%" marginwidth ="0" marginheight="0" onload="disableContextMenu();" style="pointer-events:none;" />
</div>
请任何帮助表示赞赏.. !!
【问题讨论】:
-
您不能阻止用户复制可以看到的内容。我的意思是,一点也不。
-
哦,但我希望有一个迂回的解决方案:-)。我们可以限制 iframe 内容的打印屏幕选项吗?
-
我的手机上有摄像头。大声笑
-
如果您的意思是要阻止他们截屏,那么不,您不能。您能做的最好的事情就是让我在打印时禁用文本选择、右键单击并从 DOM 中删除元素变得超级困难(仅限 IE)
-
防止屏幕截图的唯一方法是首先不向用户显示内容。所以完全放弃这个项目,不要截图!耶! ;)
标签: javascript jquery html iframe model-view-controller