繁体   English   中英

javascript窗体onload在Safari中不起作用

[英]javascript form onload doesn't work in Safari

我的目标是当用户单击链接时打开一个新窗口,然后重新加载主页以返回到先前的内容。 下面的第一个代码段可在IE和FireFox中使用,但不会在Safari中弹出新窗口。 第二个代码段可在所有3种浏览器中使用,但在Safari中不会执行history.go(-1);。 返回到主窗口的上一页。

另外,在第二个代码段中,如果我输入“ return true”; 在“ history.go(-1);”之后 history.go(-1); 可以,但是不会弹出新窗口(target =“” _ blank“”)。

有什么建议么?

谢谢,瑞安

<html> <body> <form id="sso" method="POST" action="/apps/Integration/SsoUtil/SiteTransfer/SsoSignonSaml2Url.aspx" target="_blank" >
    <input type="hidden" size=150 name="SsoEncryptedData" value="<%=cd.ToSsoEncryptedB64()%>" /> </form> </body>

  <script>
    sso.submit();
    history.back();   </script> </html>


------------------WORKS IN SAFARI BUT DOESN"T RELOAD THE PARENT PAGE-----------------------
<%
Response.Write("<html>")
            Response.Write("<body onload=""document.getElementById('sso').submit();return true; history.go(-1);"">")

            Response.Write("<form id=""sso"" method=""POST"" action=""/Apps/Integration/SsoUtil/SiteTransfer/SsoSignonSaml2Url.aspx"" target=""_blank"">")

            Response.Write("</form><br/>")
            Response.Write("</body>")
            Response.Write("</html>")
            Response.End()
%>
-------------------------------------------------------------------------------------------

尝试

<script>
sso.submit();
setTimeout(function() { history.back();},1000)   
</script>

然后在提交时尝试从服务器返回<script>opener.history.back()</script> 。最后,为表单提供一个提交按钮,然后单击它而不是提交表单document.getElementById('subbut').click()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM