javascript iframe onmouseup не работает - PullRequest
0 голосов
/ 28 июня 2011

Я играю с событиями и пытаюсь создать событие, которое срабатывает, когда выделен текст в моем 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 %> - это правильно работающий фрагмент встроенного рубина, если кому-то интересно, что это было, но это не имеет отношенияна вопрос здесь.

Если я щелкну где-нибудь за пределами iframe на веб-странице (этот раздел div является полным телом моего общего html-файла, который здесь не размещен), он будет правильно отображатьсяоповещение «Событие !!».Однако, если я нажму внутри iframe, где я хочу, чтобы событие действительно произошло, ничего не произойдет.Как я могу получить это, чтобы зарегистрировать это событие в iframe?Я попытался использовать onmouseup внутри тега iframe, но это не сработало.Кроме того, если onmouseup - не лучший способ распознать событие «выделенный текст» для iframe, это то, что я хочу, какое событие я должен использовать и как его использовать?

Заранее спасибо!

1 Ответ

0 голосов
/ 28 июня 2011

Вы не можете обнаружить событие, потому что ваш iframe исходит из другого домена, поэтому применяется политика того же происхождения.

По сути, SOP означает, что вы не можете взаимодействовать с DOM чего-либо, загруженного из домена, отличного от вашего собственного.

(Я предполагаю, что вы не обслуживаете свой сайт с сайта instapaper.com. Если да, то вы сможете обнаружить событие в iframe, загруженном с instapaper.com.)

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

...