jQuery ContentWindow 是 jQuery 库中的一个简单选择器插件,它可以在跨域页面之间访问和传递数据。这对于一些需要在邮件、社交分享等场合展示网页的应用非常实用。
$("iframe").load(function() { var iframe = $(this).contents().get(0); var innerDoc = iframe.contentDocument || iframe; var title = $(innerDoc).find("title").html(); alert(title); });
上面的代码展示了如何使用 jQuery ContentWindow 访问 iframe 内部文档的标题。首先需要绑定 load 事件,然后通过 contents() 方法获取 iframe 的窗口对象,使用 get(0) 方法获取内部文档对象,并使用 find 方法获取标题元素,并将结果作为弹出窗口显示。
需要注意的是,jQuery ContentWindow 插件只适用于同源 iframe,若需要访问跨域 iframe 还需要进行特殊设置。
var xhr = new XMLHttpRequest(); xhr.open("GET", "http://otherdomain.com/endpoint", true); xhr.onload = function() { var response = xhr.responseText; $("iframe").contents().find("#div").html(response); }; xhr.send();
如果需要访问跨域 iframe,可以使用 XMLHttpRequest 对象进行跨域请求,并将结果插入到 iframe 内部元素中,从而实现跨域访问。