昨天遇到了一个问题,就是在用window.open打开的窗口中增加一个超连接,当点这个连接时候要把父窗口的内容跳转到另一个页面,后面终于解决此问题,现在特来与大家分享下。
1.为了方便整个工程使用,我特意将这个方法写成了一个js文件。
// JScript 文件
function pageClass(o) {
for (x in o) this[x] =o[x];
this.open = function () {
var pageBody = $$("pageBody");
var pageTitle = $$("pageTitle");
this.prevPage = pageBody.page;
//if (pageBody.page&&this.loc==pageBody.page.loc) {
// return;
//}
if (this.inherit) {
this.loc = (pageBody&&pageBody.page?(pageBody.page.loc + "^"):"") + this.loc;
delete this.inherit;
}
pageTitle.innerText = this.loc.replace(//^/gi,"->");
window.open("about:bland","pageBody","",true);
window.open(this.url,"pageBody","",true);
pageBody.page = this;
}
}
2.在父窗口中添加一个客户端function
如:
注:需要在父窗口中先加载刚才建立的js文件,此处的参数id是传入的某条数据的id,如果没有可以不加
function openrRedirect(id) {
new pageClass({url:"test.aspx?id=" + id,loc:"title"}).open();
}
3.最后在了窗口中就可以添加<a>超连接了,只要直接调用父窗口的这个方法就可以了。
<a href="#"οnclick="javascript:opener.openrRedirect.call(opener,id);/"></a>