0

Access.aspxのロード時に、javascript関数が呼び出されます。

<head>
<title>access</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<link href="rtsBanner.css" type="text/css" rel="stylesheet">

<script language="JavaScript" type="text/javascript" src="winopen.js"> </script>

<script type="text/javascript" language="javascript">
    function openLogin(site, pass) {
        var loginUrl = 'login.aspx';
        if (site != '' && pass != '') {
            loginUrl += '?SITE=' + site + '&PASS=' + pass;
        }
        else if (site != '') {
            loginUrl += '?SITE=' + site;
        }
        var popUpFeatures = 'dialogHeight: 385px; dialogWidth: 600px; edge: Raised; center: Yes; help: No; resizable: No; scroll: Yes; status: No;';
        var RetVal = window.showModalDialog(loginUrl, 'null', popUpFeatures);
        if (typeof (RetVal) == 'undefined') {
            top.window.close();
        }
        else {
            var RetArray = RetVal.split(',')
            var ValidLogon = RetArray[0];
            var MUName = RetArray[1];
            if (ValidLogon == 1) {
                document.location.href = 'newRequest.aspx?desc=' + MUName;
            }
            else {
                top.window.close();
            }
        } // else(typeof(RetVal)
    }
</script>

</head>
<body ms_positioning="GridLayout" onload="openLogin('<%=Request("SITE")%>','<%=Request("PASS")%>');">
<form id="Form1" method="post" runat="server">
&nbsp;
</form>
</body>
</html>

このコードはIEで完全に機能しますが、サイト名とパスワードを入力してログインボタンを押した後のログイン画面のサファリでは、newRequest.aspxページにリダイレクトされず、代わりにログインポップアップを閉じて空白のaccess.aspxページを表示します。

編集済み:

これは、Login.aspx.vbページのbtnLogin_Clickのコードです。

If txtSiteName.Text = "" And txtPassPhrase.Text = "" Then Return
        If ValidateSiteAndPass(txtSiteName.Text, txtPassPhrase.Text) = False Then
            Throw New Exception("OOPS!!! Either SiteName or Pass Phrase is Invalid, please check")
        Else
            Session("valid") = "true"
            Response.Write("<script language='javascript'>{window.returnValue='1," + txtSiteName.Text + "'; self.close();}</script>") '''document.Form1.submit();")
            Response.End()
        End If

提案してください

ありがとう、Kavita

4

1 に答える 1

0

ここで解決策を見つけました。

http://forums.asp.net/t/1400811.aspx/1

この問題は、window.showModalDialog が原因でした。Safariではうまく動かない..window.openに置き換えた

ありがとう、カビータ

于 2012-11-06T10:21:11.623 に答える