在Mozilla中禁用键和鼠标单击iframe

时间:2012-06-22 13:36:11

标签: php javascript firefox iframe

我已将此代码应用于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中无效。

1 个答案:

答案 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属性。