我有一个链接会在新标签页中打开一个网址,如下所示:
<a href="#" target="teamViewer" style="color: deepskyblue"><span data-bind="text: connectorLoginLink, visible: shouldShowConnectorLoginLink, click: openTeamViewerUrl"></span></a>
由于我想检测新标签中的URL更改,我认为我必须使用window.open(url)来打开此链接。然后,跟踪新窗口。
在viewmodel中:
public openTeamViewerUrl() {
var newWindow = window.open('http://www.google.com', '_blank', 'location=yes');
}
我想将打开的标签设置为newWindow对象,然后使用以下内容监视它:
var currentPage = newWindow.location.href;
setInterval(function () {
console.log(currentPage);
if (currentPage !== newWindow.location.href) {
// page has changed, set new page as 'current'
currentPage = newWindow.location.href;
console.log(currentPage);
// do other thing...
}
}, 1000);
我在尝试window.open时遇到错误:在新窗口中阻止打开“http://www.google.com/”,因为请求是在沙盒框架中进行的,其中“allow-popups”权限未设置。
真的被困在这上面了。如何通过allow-popups?可以使用其他方法实现此功能吗?
答案 0 :(得分:0)
要检测网址更改,您可以使用unload
上的javascript window
活动,请参阅https://developer.mozilla.org/en-US/docs/Web/Events/unload
window.addEventListener('unload', function(event) {
console.log('Navigation occuring');
});