[英]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.