我有一个带有页面的MVC网站(让我们称之为x),其中有一个iframe(我们称之为x2)。当我与iframe(x2)交互时,如果我最终在一个特定的网址上(让我们称之为y),我希望该网址(y)不要在iframe(x2)中打开,而是在浏览器中打开作为主页。我希望网址也改为y。我需要什么JQuery魔法?
修改
我的错,我没有很好地解释自己。我没有使用我点击的链接转到该页面,但外部网站会从iframe重定向到该页面。
答案 0 :(得分:1)
不需要jQuery,只需在target
上添加<a>
:
<a href="@Url.Action("Action", "Controller", { property = 'foo' })" target="_parent">Link</a>
答案 1 :(得分:1)
你可以通过window.postmessage来研究这个问题。我做了类似的事。我的一个页面有一个iframe。点击某个链接,而不是更改iframe,会更改父页面。
http://davidwalsh.name/window-postmessage有一篇关于如何使用它的精彩文章。基本上,您将在第x页上设置一个监听器。当您加载页面y时,让页面y将消息发布到父窗口。 X将听取该消息并采取相应行动。
编辑:添加侦听器以检查iFrame的onLoad事件。每次查看iFrame的URL。如果该URL与页面Y匹配,则强制页面X更改URL。
答案 2 :(得分:1)
我相信您可以通过在URL末尾添加一个#标签加上一个循环来检查目标视野中的标签。更改主题标签不会重新加载URL并允许目标框架读取它。它是hacky但它应该工作。