Javascript函数在Safari 5.1.7中工作不正常
加载Access.aspx时,将调用javascript函数Javascript函数在Safari 5.1.7中工作不正常,javascript,asp.net,safari,Javascript,Asp.net,Safari,加载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" nam
<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">
</form>
</body>
</html>
通道
函数openLogin(站点,通行证){
var loginUrl='login.aspx';
如果(站点!=''&&pass!=''){
loginUrl+='?SITE='+SITE+'&PASS='+PASS;
}
否则如果(站点!=''){
loginUrl+='?站点='+站点;
}
var popUpFeatures='对话框高度:385px;对话框宽度:600px;边缘:凸起;中心:是;帮助:否;可调整大小:否;滚动:是;状态:否;';
var RetVal=window.showModalDialog(loginUrl,'null',popUpFeatures);
if(typeof(RetVal)=“未定义”){
top.window.close();
}
否则{
var RetArray=RetVal.split(',')
var ValidLogon=RetArray[0];
var MUName=RetArray[1];
if(ValidLogon==1){
document.location.href='newRequest.aspx?desc='+MUName;
}
否则{
top.window.close();
}
}//else(typeof(RetVal)
}
这段代码在IE中非常有效,但在safari中,在登录屏幕上输入站点名称和密码并点击登录按钮后,它不会将我重定向到newRequest.aspx页面,而只是关闭登录弹出窗口并显示一个空白的access.aspx页面
编辑:
这是btnLogin_单击Login.aspx.vb页面上的代码
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
如果txtSiteName.Text=”“和txtPassPhrase.Text=”“,则返回
如果validateSetAndPass(txtSiteName.Text,txtPassPhrase.Text)=False,则
抛出新异常(“OOPS!!!SiteName或Pass短语无效,请检查”)
其他的
会话(“有效”)=“真”
Response.Write(“{window.returnValue='1,“+txtSiteName.Text+”;self.close();}”)“'document.Form1.submit();”)
答复:End()
如果结束
请建议
谢谢,
卡维塔我在这里找到了解决办法 问题是由window.showmodaldiallog引起的。它在Safari中无法正常工作。我将其替换为window.open 谢谢,
Kavita发生这种情况后,JavaScript控制台中是否有任何错误?如果PASS===PASSWORD:您正在查询字符串中传递密码?您的表单对我来说似乎有点空。而且,您真的想打开一个弹出窗口
onload
?这是一个旧项目,我刚刚被移动到它。我不确定为什么会在加载时打开弹出窗口。下面是re在access.aspx页面上真的什么都不是。我尝试在Safari Developer中进行调试,但没有显示任何错误