我正在建立一个站点(孩子),显示有关该地区所有车辆的详细信息。该区域有一个id(Rid)和车辆(Vid)。
在父选项卡中,用户选择一个区域并单击打开带有所选Rid的子选项卡的按钮(通过cookie发送)。
<a class="btn btn-default btn-xs" href="/TStatus" target="_blank">
在子选项卡中,用户可以更改区域以查看其他信息,当他点击车辆名称时,区域ID应通过cookie发送回父选项卡。
function ToParentTab(id) {
var childHref = window.location.host;
var parentwindow = myOpenWindow(window.location.protocol + "//" + childHref + "/main", ParentPage", "", window.location.protocol + "//" + childHref + "/main");
}
function myOpenWindow(winURL, winName, winFeatures, winObj) {
var theWin;
if (winObj != null) {
if (!winObj.closed) {
setCookie("teksid", regionId, 365);
window.opener.parent.focus();
}
}
setCookie("teksid", regionId, 365);
theWin = window.open(winURL, winName, winFeatures);
return theWin;
}
是否有一种方法可以在从子选项卡点击车辆时关注父页面(如果再次关闭打开它)并调用一个函数,该功能将根据收到的cookie刷新内容而不再加载整个网页?
答案 0 :(得分:0)
您可以使用javascript完成所有这些操作。我不会使用cookie在Windows之间进行通信。只需直接调用方法,或将参数放在查询字符串中。
但是你会遇到一些问题。当文档在子窗口中加载时,父窗口不会自动得到通知,并且子窗口中的错误不会自动冒泡到父窗口。为了解决这些问题,我喜欢使用promises。 This sample显示了如何解决您的问题。注意...