根据页面的当前url打开一个新窗口

opening a new window based on the current url of the page

本文关键字:一个 窗口 新窗口 url      更新时间:2023-09-26

所以表面上我试图使一个按钮或链接谁的目标是有条件的当前页面的URL。我正在开发一个Wordpress投资组合网站,它可以在Ajax窗口中打开不同的项目,但我也希望能够从该窗口链接到单独的项目页面。例如,如果我单击一个标题为"Blue"的项目的缩略图,它将在ajax窗口中打开该项目,并且url更改为"www.website.com/#blue"。顺便说一下,相应的项目页面的url将是"www.website.com/projects/blue"。我们的想法是将按钮硬编码到Ajax窗口中,并编写一个脚本,为项目页面生成正确的URL,这样我的客户端就不必在每次发布项目时复制粘贴按钮代码并更新目标URL。这就是我想到的,但我不擅长Jquery或Javascript,我认为我的语法或脚本结构可能有问题。现在,当我按下按钮时,什么也没发生。

首先,它在每个"/"处拆分url,并从不同的字符串中创建一个数组,然后它从唯一字符串中删除"#",并使用新地址打开一个新窗口。

EDIT有一些语法错误,但仍然不能工作。对这个新版本有什么看法吗?

$(".comment_button").click(function(){
var parse_url = window.location.href.split('/');
var project_name = parse_url[2].replace("#", "");
window.open("http://www.balletinform.com/projects/" + project_name);
});

尝试使用带有target="_blank"属性的a元素?

<a id="blue" href="www.website.com/projects/blue" target="_blank">blue</a>

如果我理解正确,你想要得到的是url的#blue部分。

如果是,可以使用window.location.hash

你的函数将看起来像window.open("http://www.balletinform.com/projects/" + window.location.hash.substring(1));

当前函数将project_name设置为"www.balletinform.com" ([0]=>"http:"; splitted(/); [1]=>""; splitted('/'); [2]=>"www.balletinform.com"; splitted('/'); [3]=>"#blue") .
所以另一个解决方案是var project_name = parse_url[parse_url.length-1].replace("#", "");

var new_url=""+(window.location.href).replace('#','projects/');
window.open(new_url);

尝试用'projects/'代替#