我目前正在加载一个liferay iframe portlet中的网站。
单击网站中的一个链接后,会生成一个弹出窗口,该弹出窗口将加载到新的浏览器选项卡中。有没有办法阻止链接作为弹出窗口打开,而是在portlet内部打开?
答案 0 :(得分:2)
这是使用iframe的缺点。这个问题实际上与liferay完全无关 - 或者至少是独立的。当你以独立于生活方式的方式对其进行改写时,你可能会获得更多的观众。
正如您提到Liferay,您可能想要尝试WebProxy portlet:在这里,您可以处理服务器生成的HTML并更改/重写打开新窗口的代码。但它肯定比使用iframe“只是”更复杂。此外,使用WebProxy,它是请求外部页面,重写并将其发送到浏览器的服务器。使用iframe,浏览器可以直接连接到您的第三方系统。
如果两个网站都位于同一个域中,您可能很幸运能够处理DOM(例如重写iframe页面)。但是其他人必须回答有关如何准确执行此操作以及在跨iframe边界更改文档时javascript安全含义的详细信息