我需要在iframe中加载一个外部服务器的URL,其中有一些链接,当用户单击链接时,它会在iframe之外打开。但是我希望在同一个iframe中打开。
这可能吗?
您应该指定iframe的目标名称。
<iframe src="demo_iframe.htm" name="iframe_a"></iframe>
<p><a href="http://www.w3schools.com" target="iframe_a">www.google.com</a></p>
在iframe中加载的文档中的链接默认会在同一框架中打开。
如果文档覆盖了默认行为(例如使用target="_top"
),则文档将在其他位置加载。
如果来自“外部服务器”的文档加载到框架中,则包含该框架的文档无法更改该行为,因为安全限制防止与其他来源的文档的DOM交互。
<a href="#" target="_self">link</a>
target=_self
属性,如下所示:<a href="http://google.com/" target="_self">Google</a>
但如果你正在加载一个外部网站,你无法控制,这可能是不可能的。
你无法影响具有不同域的源的 iframe。
如果它在相同的域中,你可以使用 JavaScript 删除目标空白,但由于它在不同的域中,你对 HTML 没有任何影响力。
希望这能帮助你节省无数小时尝试不可能的事情。
a
标签中添加target='_self'
。 - zzlalani