0

イベントをいじっていて、iframe 内のテキストが強調表示されたときにトリガーされるイベントを作成しようとしています。私はイベントを使用しようとするかもしれないと思ったonmouseup:

<div id="instapaper_div" onmouseup="handleEvent(event)">
    <iframe id="instapaper" src ="http://www.instapaper.com/m?u=<%= @content %>" width="90%" height="90%"></iframe>
</div>


<script type="text/javascript">

    function handleEvent(oEvent) {
        alert("Event!!")
    }
</script>

誰かがそれが何であるか疑問に思っていた場合に備えて、埋め込まれたルビーの<%= @content %>適切に機能する部分ですが、ここでの質問には関係ありません。

Web ページの iframe の外側のどこかをクリックすると (この div セクションは、ここには掲載されていない全体的な html ファイルの本文全体です)、アラート「イベント!!」が正しく表示されます。ただし、イベントを実際に発生させたい場所である iframe 内をクリックしても、何も起こりません。このイベントをiframe内に登録するにはどうすればよいですか? iframe タグ内で onmouseup を使用しようとしましたが、うまくいきませんでした。また、onmouseup が、必要な iframe の「テキストの強調表示」イベントを認識する最良の方法ではない場合、どのイベントを使用する必要があり、どのように使用すればよいですか?

前もって感謝します!

4

1 に答える 1

0

iframe が別のドメインからのものであるため、イベントを検出できないため、同一オリジン ポリシーが適用されます。

基本的に、SOP は、自分のドメイン以外からロードされたものの DOM と対話できないことを意味します。

(instapaper.com からサイトを提供していないと仮定しています。そうであれば、instapaper.com からロードされた iframe でイベントを検出できるはずです。)

https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript

于 2011-06-28T03:12:35.293 に答える