繁体   English   中英

(HTML/javascript) 处理跨域 iframe

[英](HTML/javascript) Handling a cross-domain iframe

我有一个页面在 iframe 中显示不同的网站(比如 www.cnn.com)。

我想要的只是在父 window 中打开 iframe 内的链接,而不是在框架内。

我知道出于安全原因这通常是不可能的,这对我来说很有意义。 但是,我正在处理的页面不会公开,而只会在我的私人计算机上公开,如果我必须关闭某些安全功能才能使其工作,那没关系。

有没有办法做到这一点?

我整天都在梳理 web 以寻求解决方案。 如果我错过了这里或其他地方的帖子,请指出我。

我在 Firefox(我正在使用)中读到,如果脚本是“签名的”(或更改了特定的配置条目),则可以在 javascript 中获得扩展权限。 但是,我不知道如何利用这些扩展权限来达到我的目的……有什么提示吗?

我也会考虑不同的方法,例如根本不使用 iframe。 无论采用哪种方法,我都希望能够在一个页面中嵌入几个我无法控制的网站。 在任何嵌入式网站中单击的链接应在父 window 中打开。 它应该是我自己的一个方便的工具。 我应该说我对 javascript 基本上一无所知,只是边做边学。 如果您可以自信地说,任何客户端方法都无法实现我想要的,那也会有所帮助。 我想用 php 来做这件事会相当直截了当,但如果没有必要,我不想设置网络服务器。 感谢您的任何提示!

这与您要求的解决方案略有不同,但可能是解决问题的更好方法,因为它可能为您提供您寻求的能力,而不会损害任何正常的 web 安全性。

我想知道Greasemonkey (Firefox 和其他浏览器的附加组件)是否对您来说是一个有用的解决方案,因为它允许您针对其他页面运行本地 javascript 以在本地修改它们,这与正常的安全限制无关。 因此,您可以浏览 CNN 页面中的所有链接并在需要时对其进行修改。

To use it, you would install the greasemonkey add-on into Firefox, write a script that modifies CNN.com the way you want to, install that script into Greasemonkey, then target the script at just the web page CNN.com. 我认为它应该在该站点上工作,无论它是否在 iframe 中,但是如果需要,您的脚本可能会检测到它是否在 iframe 中。

看起来 HTML5 无缝属性将是您正在寻找的。 但似乎还没有任何东西支持它......

http://www.w3schools.com/html5/att_iframe_seamless.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM