Javascript 如何重写URL的一部分?
我在我的网站上使用lightbox2,我想让我的观众下载图片。该按钮起作用,它链接到/view/directory/image.jpg,下载按钮只显示图像。在PHP中,我编写了一个脚本来下载图像,并在mysql中设置download+1,我唯一不擅长的是JS lightbox2中当前的JS代码是:Javascript 如何重写URL的一部分?,javascript,window.open,Javascript,Window.open,我在我的网站上使用lightbox2,我想让我的观众下载图片。该按钮起作用,它链接到/view/directory/image.jpg,下载按钮只显示图像。在PHP中,我编写了一个脚本来下载图像,并在mysql中设置download+1,我唯一不擅长的是JS lightbox2中当前的JS代码是: this.$lightbox.find('.lb-download').on('click', function (e) { window.open(e.target.href) });
this.$lightbox.find('.lb-download').on('click', function (e) {
window.open(e.target.href)
});
它链接到/view/directory/image.jpg,因为href显示图像。
我想让lb下载按钮转到/下载/directory/image.jpg,我已经让下载工作正常了,只是没有在JS中打开并替换部分。你得到了
e.target.href
,其中包含“domain.com/view/directory/image.jpg”,你需要它来包含“domain.com/download/directory/image.jpg”因此您必须:
url=e.target.href;
url=url.split("/");
url[0]=url[0]+"/download";
url.join("/");
window.open(url);
JS:
这将
e.target.href
转换为一个数组,然后将“视图”交换为“下载”(数组中的位置1),然后打开窗口…您得到的e.target.href
包含“domain.com/view/directory/image.jpg”,您需要它包含“domain.com/download/directory/image.jpg”“因此,您必须:
JS:
这会将
e.target.href
转换为一个数组,然后您将“视图”交换为“下载”(数组中的位置1),然后打开窗口…您只需通过运行以下命令将单词视图
替换为下载
:
var urlToBeOpened = e.target.href.replace('view', 'download');
window.open(urlToBeOpened);
您只需运行以下命令,即可将单词
view
替换为download
:
var urlToBeOpened = e.target.href.replace('view', 'download');
window.open(urlToBeOpened);
您可以将url中的部分替换为wordviewtodownload,如下所示:
this.$lightbox.find(".lb-download").on("click", function (e) {
window.open(e.target.href.replace("/view/", "/download/"))
});
您可以将url中的部分替换为wordviewtodownload,如下所示:
this.$lightbox.find(".lb-download").on("click", function (e) {
window.open(e.target.href.replace("/view/", "/download/"))
});
解决这个问题的另一种方法是使用模式和替换函数 做一个像这样的图案
var pattern = /view/ig;
然后假设我们有一个像
var a = "domain.com/view/directory/image.jpg";
现在只需使用replace,我们就可以替换该URL中的任何单词
a = a.replace( pattern, "download" );
这里有一个例子
注意:您可以轻松地将a更改为e.target.href并对其应用替换功能
注意:上面模式中的i标志表示single,g标志表示要应用的全局标志
有关更多信息,请阅读:解决此问题的另一种方法是使用模式和替换函数 做一个像这样的图案
var pattern = /view/ig;
然后假设我们有一个像
var a = "domain.com/view/directory/image.jpg";
现在只需使用replace,我们就可以替换该URL中的任何单词
a = a.replace( pattern, "download" );
这里有一个例子
注意:您可以轻松地将a更改为e.target.href并对其应用替换功能
注意:上面模式中的i标志表示single,g标志表示要应用的全局标志
欲了解更多信息,请阅读:比我的方法简单有效得多。谢谢迭戈。很乐意帮忙。:)比我的方法简单有效多了。谢谢你,迭戈。很乐意帮忙。:)这给了/album/directory/,download,domain.com,view,directory,image.jpg当我猜
e.target.href
不包含“domain.com/view/directory/image.jpg”时,其他方面的“/album/directory/”就不存在了。。。但是@Simple_程序员所展示的方法要好得多,也简单得多。这给了/album/directory/,download,domain.com,view,directory,image.jpg。我猜e.target.href
不包含“domain.com/view/directory/image.jpg”其他方面的“/album/directory/”就不存在了。。。但是@Simple\u程序员所展示的方法要简单得多。