javascript iframe onmouseup не работает

Я играю с событиями и пытаюсь создать событие, которое срабатывает, когда текст в моем фрейме выделен. Я думал, что я мог бы попытаться использовать 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-файла, который здесь не размещен), он правильно отобразит предупреждение "Event!!". Однако, если я нажму внутри iframe, где я хочу, чтобы событие действительно произошло, ничего не произойдет. Как мне получить его, чтобы зарегистрировать это событие внутри iframe? Я пытался использовать onmouseup внутри тега iframe, но это не сработало. Кроме того, если onmouseup - не лучший способ распознать событие "выделенный текст" для iframe, это то, что я хочу, какое событие я должен использовать и как его использовать?

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам