如果您在新标签页中打开链接(但是使用MMB或右键单击或首选方法),是否可以通过新标签window
找到开场白window
?这些都不起作用:
window.opener
window.parent
也许这是不可能的,因为通常关注链接会覆盖'窗口,所以没有参考可能,但因为我们有标签...也许......参考可能吗?
我希望打开的窗口对原始窗口执行postMessage
以让它知道页面已加载,因此原始窗口可以更新链接样式。
我不会制作这些页面,因此我无法访问后端或HTML printage。想想Greasemonkey:我将JS添加到现有网站以改进它们。
答案 0 :(得分:1)
我唯一能想到的是拦截click事件,抓取URL,并将其传递给返回的窗口对象上的window.open
和后续postMessage
调用。您是否使用这些链接生成页面?
在某些浏览器中,window.open(url,'_blank')
会在标签中打开。
答案 1 :(得分:0)
我认为您的问题有两种解决方案
一种简单的方法是每次点击一个链接时设置一个包含当前页面值的cookie,你可以使用library like this one设置一个cookie,然后点击这样就在下一页中获取它< / p>
$("a").click( function () {
$.setCookie("currentPage",document.URL);
});
在下一页中,您只需获得此类Cookie
if($.getCookie("currentPage") != undefined )
var previousPage = $.getCookie("currentPage");
如果您使用像php这样的服务器端语言,很容易获得上一页的网址:
<?php
if (isset($_SERVER['HTTP_REFERER']))
echo "<script> var previousPage='" . $_SERVER['HTTP_REFERER'] . "'; </script>";
?>
最后,要发布消息,您只需要测试是否设置了previousPage
变量:
if(previousPage != undefined)
{
// Code to post your message
}