在iframe或div中使用外部网站的javascript

时间:2014-01-08 19:46:03

标签: jquery iframe

我知道我们不能这样做,但我想知道是否有其他办法可以做以下事情:

<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中执行操作。例如,打开包含所选文本的弹出窗口。

1 个答案:

答案 0 :(得分:0)

如果iframe src与您的代码中的父容器域不同,那么这是不可能的。

但是如果两个域都相同,那么您可以访问iframe的dom。

为此您需要先通过以下方式访问iframe的innerDoc:

var iframe = document.getElementById('html2');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;

获得对象后,现在可以访问:

innerDoc.getElementById('divId');