onfload формы javascript не работает в Safari - PullRequest
0 голосов
/ 29 марта 2011

Моя цель - открыть новое окно, когда пользователь нажимает на ссылку, а затем перезагрузить главную страницу, чтобы вернуться к предыдущему контенту. Первый фрагмент кода ниже работает в IE и FireFox, но не открывает новое окно в Safari. Второй фрагмент кода работает во всех трех браузерах, но в Safari не выполняет history.go (-1); вернуться на предыдущую страницу в главном окне.

Кроме того, во втором фрагменте, если я поставлю "вернуть истину"; после "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()
%>
-------------------------------------------------------------------------------------------

1 Ответ

0 голосов
/ 29 марта 2011

Попробуйте

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

, затем попробуйте вернуть <script>opener.history.back()</script> с вашего сервера при отправке. Наконец, дайте вашей форме кнопку отправки и попробуйте нажать ее вместо отправки формы document.getElementById('subbut').click()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...