您好我想使用php和javascript将我的Facebook App页面重定向到另一个应用页面
我有
echo "<script type='text/javascript'>
if(window.top.location.href.toLowerCase().indexOf('http://apps.facebook.com/app1/') != -1) {
window.top.location.href = 'http://apps.facebook.com/app2/2/';
alert("Done");
}
else
alert(window.top.location.href);
</script>";
但是我收到了一个错误:
Unsafe JavaScript attempt to access frame with URL http://apps.facebook.com/myapp/?ref=bookmarks from frame with URL http://mydomain.com/?ref=bookmarks. Domains, protocols and ports must match.
是否可以毫无问题地从Facebook Application iFrame重定向?
答案 0 :(得分:6)
由于您可以设置XSS-resrictions,但如果您的iframe位于另一个域而不是调用iframe的页面上,则无法读取top.location.href。如果您重定向到的页面具有相同的域名,则可以检查top.location.href。所以逻辑是你的代码应该反过来检查它是否可以访问top.location.href并且如果不重定向。将它放在try..catch块中以避免访问top.location时出现javascript错误