jQuery MiniUI

 找回密码
 立即注册
查看: 3639|回复: 7
打印 上一主题 下一主题

新版本中网页包含mini.window则window.parent.length大于0 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-8-6 13:57:14 |只看该作者 |倒序浏览
本帖最后由 sesa 于 2013-8-6 14:03 编辑

以前的版本中如果login页面如果包含mini.window则window.parent.length数值为0,换成最新版本的软件包后window.parent.length长度为1,这是为什么呢?

Rank: 8Rank: 8

沙发
发表于 2013-8-6 14:24:51 |只看该作者
window.parent 是父页面,你看你的页面到底有没有父页面

Rank: 2

板凳
发表于 2013-8-6 14:29:37 |只看该作者
没有啊,就是基本的login页面里面放了一个mini.window,今天升级版本后发现打开login页面就不停的重定向,因为网页打开的时候会检查是否有父页面,同样的用上一个版本的miniui打开就显示为0,用新版本的miniui显示为1,把login页面中的mini-window的div拿掉就显示为0了,所以想知道新版本关于这方面做了啥变动。
function checkParent() {
        alert (window.parent.length);
        if(window.parent.length>0){
             window.parent.location="index.jsp";
}
                }

Rank: 8Rank: 8

地板
发表于 2013-8-6 16:48:55 |只看该作者
sesa 发表于 2013-8-6 14:29
没有啊,就是基本的login页面里面放了一个mini.window,今天升级版本后发现打开login页面就不停的重定向, ...

我测试过了,刚刚下载的版本测试了下,页面上放个window,然后alert(window.parent.legnth)是为0的

Rank: 2

5#
发表于 2013-8-6 17:26:37 |只看该作者
我这边测试还是为1,把代码简化了一下,帖在下面,请帮忙查看一下。

<%@page import="javax.print.attribute.standard.Finishings"%><%@ page
        language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.*,java.lang.reflect.*"%>
<%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                        + request.getServerName() + ":" + request.getServerPort()
                        + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="<%=basePath%>">
<title>Login Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script src="scripts/boot.js" type="text/javascript"></script>
</head>
<body topmargin="2" leftmargin="2" rightmargin="2" bottommargin="2"
        marginwidth="0" marginheight="0" bgcolor="#FFFFFF" onload="checkParent()">
        <div id="loginWindow" class="mini-window" title="Login"
                style="width:500px;height:250px;" showModal="true"
                showCloseButton="false">
                <div id="loginForm" style="padding:15px;padding-top:10px;">
                        <table id="table1">
                                <tr>
                                        <td style="width:60px;"><label for="username$text">Username:</label>
                                        </td>
                                        <td><input id="username" name="username"
                                                onvalidation="onUserNameValidation" class="mini-textbox"
                                                required="true" style="width:180px;" /></td>
                                </tr>
                                <tr>
                                        <td style="width:60px;"><label for="pwd$text">Password:</label>
                                        </td>
                                        <td><input id="pwd" name="pwd"
                                                class="mini-password" requiredErrorText="密码不能为空" required="true"
                                                style="width:180px;" onenter="onLoginClick" /> &nbsp;&nbsp; <a
                                                href="#">forget password?</a></td>
                                </tr>
                                <tr>
                                        <td></td>
                                        <td style="padding-top:5px;"><a
                                                class="mini-button" style="width:60px;">Login</a> <a
                                                onclick="onResetClick" class="mini-button" style="width:60px;">Reset</a>
                                        </td>
                                </tr>
                                <tr>
                                        <td><font face="Arial" style="font-size: 9pt" color="#FFFFFF">.</font>
                                        </td>
                                        <td></td>
                                </tr>
                        </table>
                </div>
        </div>
        <script type="text/javascript">
                mini.parse();
                var loginWindow = mini.get("loginWindow");
                loginWindow.show();
                function checkParent() {
                        alert(window.parent.length);
                        if (window.parent.length > 0) {
                                //window.parent.location="index.jsp";
                        }
                }
        </script>

</body>
</html>

Rank: 8Rank: 8

6#
发表于 2013-8-6 17:39:44 |只看该作者
sesa 发表于 2013-8-6 17:26
我这边测试还是为1,把代码简化了一下,帖在下面,请帮忙查看一下。

你判断window.parent.lengt的目的是做什么? 或者你改成判断window.parent.location试试呢

Rank: 2

7#
发表于 2013-8-7 09:57:23 |只看该作者
factory 发表于 2013-8-6 17:39
你判断window.parent.lengt的目的是做什么? 或者你改成判断window.parent.location试试呢 ...

是为了防止session time out之后重定向到登录页面的时候在frame中打开,而不是父窗口中打开

Rank: 9Rank: 9Rank: 9

8#
发表于 2013-8-7 11:47:41 |只看该作者
一般判断登录失效,直接 top.location = '/login.html'
如果你想判断是否有父页面: if(window != window.parent)
实在不明白window.parent.length是干嘛,难道一个页面有多个父级页面?

Archiver|普加软件

GMT+8, 2024-11-5 22:40 , Processed in 1.037546 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部