父页面跳转刷新问题

如上图所示:
这个页面由三个子页面所组成,在页面a上有一个按钮(假设蓝色块为按钮),点击按钮,弹出个小的输入框,输入框有确定按钮,点击确定后,在a、b、c组成的页面上跳转到新的页面,而不是仅仅在a上跳转

在小窗口页面的js的确定方法中,通过 self.opener.location.href="XXXX.action?XX=XX"
跳转的话是仅仅在a上跳转,也不是在abc上

解决办法: 获取abc所在页面的最等层document对象,把跳转改为 self.opener.top.document.location.href="xxxx.action?xx=xx" 即可

可以跳转了,可是不想暴露参数,如何post提交?

self.opener.top.document.location.href="<%=path%>/XXXX/XXXX.action?XX=XX";
self.opener.top.document.write("<form action=\"<%=path%>/login/login.action\" method=\"post\" name=\"formx1\" ");
self.opener.top.document.write("<input type='hidden' name='XX' value='XX'/>");
self.opener.top.document.write("<input type='hidden' name='XX' value='XX'/>");
self.opener.top.document.write("</form>");
self.opener.top.document.formx1.submit();

然后就遇到: SCRIPT70: 没有权限 的错误
这里写图片描述
根据提示可以看出,当程序运行到第二个 self.opener.top.document.write 时候报错,提示权限不足,为什么在第一个时候没问题呢?猜测一下,每次运行 self.opener.top.document.write 都是重新获取一次dom对象,当第一个获取的正在write时,就不能再次操作,那么怎么解决呢?这样写的目的是拼一个form表单,可以先拼完在一次写入
这里写图片描述
再次运行,则不再报错

此外,还有一个post提交的办法

post("<%=path%>/XX/XX.action", {XX:"${XX}",XX:"${XX}"});
function post(URL, PARAMS) {
    var temp = document.createElement("form");
    temp.action = URL;
    temp.method = "post";
    temp.style.display = "none";
    for (var x in PARAMS) {
      var opt = document.createElement("textarea");
      opt.name = x;
      opt.value = PARAMS[x];
      temp.appendChild(opt);
      document.body.appendChild(temp);
      temp.submit();
      return temp;
                    说一下我遇到的问题:父页面跳转刷新问题如上图所示:  这个页面由三个子页面所组成,在页面a上有一个按钮(假设蓝色块为按钮),点击按钮,弹出个小的输入框,输入框有确定按钮,点击确定后,在a、b、c组成的页面上跳转到新的页面,而不是仅仅在a上跳转在小窗口页面的js的确定方法中,通过self.opener.location.href="XXXX.action?XX=XX" 跳转的话是仅仅在a上跳转,也
				
刷新页面的时候报 没有权限 jquery-1.4.2.min.js错误 怀疑是跨域的问题,因为我在页面先是用ajax对后台做了一次请求,然后再进去刷新,后面把location.href提前用一个变量保存,貌似解决。 代码如下: var href=location.hre
这个原因我是在iframe中遇到的,当子页面操作父级页面的元素是,操作多次就会遇到这个问题。 上网搜了下,说是jQuery的原因,我用的的1.9,所以我用了原生的js。 就解决了问题。 下面是代码 // 由于jquery在IE下,多点击2次会出现‘没有访问权限’的错误,只有用原生的js了             var objIframe = window.parent.document
Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":root:supergroup:drwx------