rip*_*234 0 html javascript iframe jquery
我有一个带一个按钮的页面.点击后,该按钮会导航到http://google.com/
$("#button").click(function(){
window.location="http://google.com";
});
Run Code Online (Sandbox Code Playgroud)
我希望此页面嵌入iframe时可以使用此导航.我不想影响外部主页,而只想影响iframe的内容.什么是一个很好的跨平台方式:
(我将尝试实现我刚才描述的算法,但不管我认为这个问题是否足够有趣,可以发布.如果我成功了,我会发布我的解决方案)
1)检测我是否包含在iframe中
if (window != window.top) {
// the page is inside an iframe
}
Run Code Online (Sandbox Code Playgroud)
2)如果没有,请像上面那样导航.
如上导航
3)如果是,仅导航iframe?
当您编写时,window.location.href = 'http://www.google.com';您正在导航iframe的内容,而不是首页的内容.如果您要浏览首页,只有当此首页与iframe位于同一个域且您可以使用时,才能执行此操作window.top.location.href.
更新:
浏览器内置了一种安全机制,禁止您X-Frame-Options: SAMEORIGIN在iframe内部重定向到设置响应头的站点.就是这样的http://www.google.com.只需导航到此站点并使用您正在使用的FireBug或开发人员工具栏查看响应HTTP标头,您将看到此标头.您无法重定向到它,您将收到以下错误消息:
Refused to display document because display forbidden by X-Frame-Options.
Run Code Online (Sandbox Code Playgroud)
它基本上是由一些网站实现的安全机制,其作者不希望您将它们嵌入到iframe中.