1

このコードを 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 では動作しません。

4

1 に答える 1

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''また、最後の2行のを次のように変更する必要があります。'id'

アップデート

Firefoxの問題のようでwindows.frames['id']、フレームにIDしかない場合の使用。

生成している動的IDをの属性と属性の両方に追加してみてください。idname<iframe>

まだ別の情報が明るみに出ています

<iframe>問題のPDFドキュメントが含まれていることを発見しました。

ChromeはOPが期待しているようにクリックとコンテキストメニューのイベントを発生させるように見えますが、IEとFirefoxは発生しません。これは、私が期待する動作です。

残念ながら、私はあなたがそれについてできることは何もないと思います。また、使いやすさの観点から、スクロールバーを使用してPDFをスクロールすることもできなくなります(ただし、マウスホイールは引き続き機能します)。

nameただし、FireFoxではwindow.frames参照用に属性が必要であると私はまだ信じています。

于 2012-06-22T13:42:03.387 に答える