要在一个iframe中加载一个跨域的页面,可以使用以下方法:
父页面中的代码示例:
window.addEventListener('message', function(event) {
if (event.origin !== 'http://example.com') return; // 可选的安全验证
if (event.data === 'loadCrossDomainPage') {
var iframe = document.getElementById('myIframe');
iframe.src = 'http://crossdomain.com/page.html';
}
});
子页面中的代码示例:
window.parent.postMessage('loadCrossDomainPage', 'http://example.com');
父页面中的代码示例:
<iframe src="http://example.com/proxy?url=http://crossdomain.com/page.html"></iframe>
在父页面的服务器上设置一个代理接口,将接收到的url参数作为请求地址发送请求,并将响应结果返回给父页面。
这种方法需要在父页面的服务器上进行设置,并且需要考虑安全性问题。
以上是两种常见的方法,具体使用哪种方法取决于你的需求和环境。