我已将此代码应用于iframe ID。
<iframe id='<?php echo 'fraDisabled'.$i.$post->ID; ?>' src='<?php echo $file['url']; ?>' ></iframe >
function disableContextMenu()
{
var text="you dont have proper privelages to do this !!";
window.frames['<?php echo 'fraDisabled'.$i.$post->ID; ?>'].document.oncontextmenu = function(){alert(text); return false;};
window.frames['<?php echo 'fraDisabled'.$i.$post->ID; ?>'].document.onkeypress = function(){alert(text); return false;};
window.frames['<?php echo 'fraDisabled'.$i.$post->ID; ?>'].document.onmousedown = function(){alert(text); return false;};
}
PHP:
<iframe id='<?php echo 'fraDisabled'.$i.$post->ID; ?>' src='<?php echo $file['url']; ?>'>
</iframe>
适用于Chrome,但在Mozilla Firefox中无效。
答案 0 :(得分:2)
你的文本变量中有一个撇号'
可能无济于事。
更改...
var text='sorry you don't have permission to do this !!';
要...
var text='sorry you don\'t have permission to do this !!';
或者...
var text="sorry you don't have permission to do this !!";
其他强>
您还需要将最后两行中的''id''
更改为'id'
<强>更新强>
看起来像Firefox的问题以及当框架只有id时使用windows.frames['id']
。
尝试将您生成的动态ID添加到 id
上的name
和<iframe>
属性。
YET另一部分信息已经发光
我刚刚发现有问题的<iframe>
将包含PDF文档。
看起来Chrome会像OP预期的那样触发点击和上下文菜单事件......但是IE和Firefox没有,这更像是我期望的行为。
不幸的是,我不相信你能做些什么。从可用性的角度来看,您也无法使用滚动条滚动PDF(鼠标滚轮仍可以使用)。
我仍然认为FireFox中name
引用需要window.frames
属性。