Javascript 如何从iframe重定向到另一个url并在iframe的父级上打开它?

Javascript 如何从iframe重定向到另一个url并在iframe的父级上打开它?,javascript,jsp,scriptlet,Javascript,Jsp,Scriptlet,我有一个名为p1.jsp的父jsp。当我点击这个jsp上的链接时,它会打开一个名为iframe.jsp的iframe。现在,iframe.jsp中有一个链接,单击该链接时,必须在关闭iframe模式窗口后将用户导航到另一个url,但该url必须在父会话上打开。这意味着parent.jsp将被new.jsp的内容替换 我找到了这样一个代码: <script type="text/javascript"> function closeMyModal() { //Closing Ifram

我有一个名为p1.jsp的父jsp。当我点击这个jsp上的链接时,它会打开一个名为iframe.jsp的iframe。现在,iframe.jsp中有一个链接,单击该链接时,必须在关闭iframe模式窗口后将用户导航到另一个url,但该url必须在父会话上打开。这意味着parent.jsp将被new.jsp的内容替换

我找到了这样一个代码:

<script type="text/javascript">
function closeMyModal()
{
//Closing Iframe modal 
window.parent.parent.document.getElementById('ovr1').style.display = 'none';
window.parent.parent.document.getElementById('cnt1').style.display = 'none';
<%
String hamlistVal = request.getParameter("hamlistVal");
%>
//Open the new.jsp on the p1.jsp i.e. relace p1.jsp with new.jsp
window.location.href="<%=com.pack.href.getCamHref()%>&hamlistVal=<%=hamlistVal%>";

}
</script>   
<a href = "<%=com.pack.href.getCamHref()%>&hamlistVal=<%=hamlistVal%>" target="_parent"/>

函数closeMyModal()
{
//闭合Iframe模式
window.parent.parent.document.getElementById('ovr1')。style.display='none';
window.parent.parent.document.getElementById('cnt1')。style.display='none';
//在p1.jsp上打开new.jsp,即用new.jsp relace p1.jsp
window.location.href=“&hamlistVal=”;
}
我的iframe模式正在关闭,但它没有导航到new.jsp。
我做错了什么?请提供帮助。

出于安全考虑,您的iFrame将不允许访问父帧。不允许使用任何导航功能。如果我没有弄错的话,iFrame可以读取其父窗口的位置,但不能设置它


这是iFrame还是父窗口中的JavaScript函数?

好的,我找到了解决方案

我只需要在iframe.jsp的href中提供我的完整url,如下所示:

<a href = "<%=com.pack.href.getCamHref()%>&hamlistVal=<%=hamlistVal%>"/>

还有另一种方法可以实现这一点。当您从多个源重定向到特定页面时,我的解决方案会更好

在我的例子中,我只想确保这个页面(我的登录页面)不会在iframe中打开。如果要从定义的URL执行此操作,还可以添加更多条件

<script>
    if(window.self !== window.top)
        window.top.location.href = "<%=request.getContextPath()%>";
</script>

if(window.self!==window.top)
window.top.location.href=“”;

是的,正如你提到的,这是一个障碍,但看起来我甚至不需要访问我的父母。所需要的只是为家长设定目标。谢谢你的回复,没问题。对不起,我没有更多的帮助。