0

我有一个 MVC 站点,其中有一个页面(我们称之为 x),其中有一个 iframe(我们称之为 x2)。当我与 iframe (x2) 交互时,如果我最终使用特定的 url(我们称之为 y),我希望该 url (y) 不要在 iframe (x2) 中打开,而是在浏览器中打开作为主页。我也希望将 url 更改为 y 。我需要什么 JQuery 魔法?

编辑

我的错,我解释得不够清楚。我不会使用单击的链接转到该页面,但外部站点会从 iframe 重定向到该页面。

4

3 回答 3

1

我相信您可以通过在 URL 末尾使用标签加上循环在目标视线中检查它。更改主题标签不会重新加载 URL 并允许目标框架读取它。这很hacky,但它应该可以工作。

于 2013-01-18T17:07:34.030 回答
1

不需要 jQuery,只需target<a>:

<a href="@Url.Action("Action", "Controller", { property = 'foo' })" target="_parent">Link</a>
于 2013-01-18T16:36:46.863 回答
1

您可以通过 window.postmessage 考虑这样做。我做了类似的事情。我的一个页面有一个 iframe。单击某个链接,而不是更改 iframe,会更改父页面。

http://davidwalsh.name/window-postmessage有一篇关于如何使用它的好文章。本质上,您将在第 x 页上设置一个侦听器。当您加载页面 y 时,让页面 y 向父窗口发布消息。X 将监听该消息并采取相应的行动。

编辑:添加一个监听器来检查 iFrame 的 onLoad 事件。每次查看 iFrame 的 URL。如果该 URL 与页面 Y 匹配,则强制页面 X 更改 URL。

于 2013-01-18T16:36:55.807 回答