我有一个页面,在iframe中显示不同的网站(比如www.cnn.com(。
我只想让iframe内部的链接在父窗口中打开,而不是在框架内。
我知道,出于安全原因,这通常是不可能的,这对我来说很有道理。然而,我正在处理的页面不会公开,只会在我的私人电脑上,如果我必须关闭某些安全功能才能使其工作,那没关系。
有办法做到这一点吗?
我一整天都在网上搜寻解决方案。如果我错过了这里或其他地方的帖子,请给我指一下。
我在Firefox(我正在使用(中读到,如果脚本是"签名的"(或者更改了特定的配置条目(,就可以获得javascript中的扩展权限。然而,我不知道如何利用这些扩展权限来达到我的目的。。。有什么提示吗?
我也会考虑不同的方法,例如根本不使用iframe。无论是什么方法,我都希望能够在一个页面中嵌入几个我无法控制的网站。在任何嵌入式网站中单击的链接都应在父窗口中打开。它应该是我自己一个方便的工具。我应该说,我基本上对javascript一无所知,只是在做中学习。如果你可以自信地说,我想要的是任何客户端方法都不可能实现的,那也会有所帮助。我想用php这样做会更简单,但如果没有必要的话,我不想设置网络服务器。谢谢你的提示!
这与您要求的解决方案有点不同,但可能是解决问题的更好方法,因为它可以在不损害任何正常网络安全的情况下为您提供所需的能力。
我想知道Greasemonkey(Firefox和其他浏览器的附加组件(是否对您来说是一个有用的解决方案,因为它允许您对其他页面运行本地javascript以在本地修改它们,而不考虑正常的安全限制。所以,你可以浏览CNN页面中的所有链接,如果你需要的话,可以修改它们。
要使用它,你需要在Firefox中安装防油精插件,编写一个脚本,以你想要的方式修改CNN.com,将该脚本安装到greasemonkey中,然后将该脚本定位在CNN.com的网页上。我认为无论它是否在iframe中,它都应该在该网站上运行,但如果需要,你的脚本可能会检测到它是否在iframe中。
看起来HTML5无缝属性就是您想要的。但似乎还没有任何东西支持它。。。
http://www.w3schools.com/html5/att_iframe_seamless.asp