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

Javascript 根据页面的当前url打开新窗口,javascript,jquery,ajax,wordpress,button,Javascript,Jquery,Ajax,Wordpress,Button,因此,表面上我试图制作一个按钮或链接,其目标取决于当前页面的URL。我正在一个Wordpress公文包网站上工作,该网站在Ajax窗口中打开不同的项目,但我也希望能够从该窗口链接到单独的项目页面。例如,如果我单击一个名为“Blue”的项目的缩略图,它会在ajax窗口中打开该项目,url将更改为“www.website.com/#Blue”。顺便说一句,相应项目页面的url将是“www.website.com/projects/Blue”。其想法是将按钮硬编码到Ajax窗口中,并编写一个脚本,为项

因此,表面上我试图制作一个按钮或链接,其目标取决于当前页面的URL。我正在一个Wordpress公文包网站上工作,该网站在Ajax窗口中打开不同的项目,但我也希望能够从该窗口链接到单独的项目页面。例如,如果我单击一个名为“Blue”的项目的缩略图,它会在ajax窗口中打开该项目,url将更改为“www.website.com/#Blue”。顺便说一句,相应项目页面的url将是“www.website.com/projects/Blue”。其想法是将按钮硬编码到Ajax窗口中,并编写一个脚本,为项目页面生成正确的URL,这样我的客户就不必在每次发布项目时复制粘贴按钮的代码并更新目标URL。这就是我想到的,但我对Jquery或Javascript不太在行,我认为我的语法或脚本的结构可能有问题。现在,当我按下按钮时什么也没发生

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

编辑有一些语法错误,但仍然不起作用。对这个新版本有何想法:

$(".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);
});

尝试使用
a
element?,使用
target=“\u blank”
属性

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

如果我理解正确,您希望得到的是url的
#蓝色部分

如果是这样,你可以使用

然后,您的函数将类似于
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]


尝试将#替换为“projects/”

我不确定我是否正确理解了这个问题,但我也不确定问题是否来自
窗口。打开
方法,而是来自url解析。@kaido“我不确定我是否正确理解了这个问题,但我也不确定问题是否来自window.open方法,而是来自url的解析。”浏览器中的弹出窗口阻止程序阻止
window.open()
?请参见“但它仍然不起作用”。不确定“什么”仍然不起作用“正在描述吗?是的,这也可能是一个问题。但是如果有一个弹出窗口阻止程序,可能也会有一个在新选项卡中打开新窗口的选项,并且锚定解决方案不会在新窗口中打开它。@Kaido也许OP会发出提示,如果他已经在另一个子路径下,那么这个解决方案只有在主页上执行时才会起作用,e、 g
http://www.website.com/new_project/
,它会将用户引导到
http://www.website.com/new_project/project_name
。这实际上也应该起作用,代码只在单击ajax窗口中的按钮时执行,其中url始终为,它应该始终指向的新url为。是的!就这样。事实上,我自己才知道。未将“http://”作为数组的一部分考虑在内。我也把代码放错了地方,所以它根本就没有执行。但我现在都能工作了,谢谢你的帮助!
var new_url=""+(window.location.href).replace('#','projects/');
window.open(new_url);