我知道我们不能这样做,但我想知道是否有其他办法可以做以下事情:
<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中执行操作。例如,打开包含所选文本的弹出窗口。
答案 0 :(得分:0)
如果iframe src与您的代码中的父容器域不同,那么这是不可能的。
但是如果两个域都相同,那么您可以访问iframe的dom。
为此您需要先通过以下方式访问iframe的innerDoc:
var iframe = document.getElementById('html2');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
获得对象后,现在可以访问:
innerDoc.getElementById('divId');