Я знаю, что мы не можем этого сделать, но я хотел бы знать, есть ли другой способ сделать следующее:
<iframe width="100%" frameborder="0" height="100%" src="http://google.com"></iframe>
<script>
$(function(){
$(document.body).bind('mouseup', function(e){
var selection;
if (window.getSelection) {
selection = window.getSelection();
} else if (document.selection) {
selection = document.selection.createRange();
}
selection.toString() !== '' && alert('"' + selection.toString() + '" was selected at ' + e.pageX + '/' + e.pageY);
});
});
</script>
Поэтому я хочу сделать действие в iframe. Откройте всплывающее окно с выбранным текстом, например.
Нет, это невозможно, если iframe src - это другой домен из родительского домена-контейнера, как в вашем коде.
но если оба домена одинаковы, вы можете получить доступ к dom iframe.
для этого вам нужно сначала получить доступ к innerDoc iframe:
var iframe = document.getElementById('html2');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
как только вы получите объект, теперь вы можете получить доступ:
innerDoc.getElementById('divId');