【发布时间】:2016-04-15 00:34:46
【问题描述】:
我正在尝试构建一个 phonegap 应用程序,它充当客户网站的迷你浏览器。客户客户会打开这个应用程序,它会有一个收藏夹列表。他们可以单击这些收藏夹之一,它会在 minibrowser.html 页面中打开该收藏夹。 minibrowser.html 在顶部有一个收藏按钮,然后它有一个应该充当浏览器的 iframe。我通过更改 iframe src 打开收藏夹。我可以使用此代码捕获标题/网址
$iframe.on('load', () => {
try {
console.log($iframe[0].contentDocument.title);
currentUrl = $iframe[0].contentDocument.URL;
console.log(currentUrl);
} catch (e) {}
});
但是当 iframe 中的网页尝试使用此行访问 window.top 时,就会出现问题
window.top.scrollTo(0,1);
这会引发错误:
未捕获的安全错误:阻止来源为“https://webapp.company.com”的框架访问来源为“file://”的框架。请求访问的帧具有“https”协议,被访问的帧具有“文件”协议。协议必须匹配。
是否有欺骗 iframe 的 window.top 的方法?有没有在 webapp.company.com 上托管 phonegap 代码的情况下这样做。我无权访问 webapp.company.com
【问题讨论】:
标签: javascript html cordova iframe