禁用键并鼠标单击Mozilla中的iframe

Disable keys and mouse click on iframe in Mozilla

本文关键字:Mozilla 中的 iframe 单击 鼠标      更新时间:2023-09-26

我已经为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中不起作用。

在您的文本变量中有一个撇号'可能无济于事。

改变。。。

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 !!";

附加

您还需要将最后 2 行中的''id''更改为仅'id'

更新

看起来像是 Firefox 的问题,当框架只有一个 id 时,使用 windows.frames['id']

尝试将要生成的动态 ID 添加到<iframe>上的idname属性中。

又一条信息曝光了

我刚刚发现有问题的<iframe>将包含一个PDF文档。

看起来 Chrome 将按照 OP 的预期触发点击和上下文菜单事件......但是IE和Firefox没有,这更像是我所期望的行为。

不幸的是,我不相信你能做些什么。 从可用性的角度来看,您也无法使用滚动条在 PDF 上滚动(鼠标滚轮仍然可以工作)。

我仍然认为 FireFox 中需要 name 属性才能window.frames参考。