Return JavaScript 中的文件名,移除 URL 参数
Return filename in JavaScript, removing URL parameters
我正在研究 Google 标签管理器配方,我想 return 单击 URL 的 文件名 .
让我们假设文件的 URL 是:https://www.example.com/file.pdf?v=1
如您所见,一些 URL 参数被添加到实际文件名中。
以下脚本
function() {
var url = {{Click URL}};
return url.substr(url.lastIndexOf('/')+1);
}
returns file.pdf?v=1
如何只returnfile.pdf
(没有URL参数)?
感谢您的意见!
您可以简单地使用 String.prototype.split
:
const str = 'file.pdf?v=1'
console.log(str.split('?')[0])
对于你的函数,就是
function() {
var url = {{Click URL}};
return url.substr(url.lastIndexOf('/')+1).split('?')[0];
}
试试这个:
var pdf = new URL('https://www.example.com/file.pdf?v=1').pathname.slice(1);
您可以将 url 拆分为?并参加第一部分。
var array = url.split('?');
return array[0];
您可以在 GTM 中创建一个 URL 类型变量,将其设置为 return 页面路径并将点击 url 设置为输入:
这将 return 没有协议、域和查询字符串的点击 url 路径。从那里,您可以像在您的代码示例中一样提取文件名。
我正在研究 Google 标签管理器配方,我想 return 单击 URL 的 文件名 .
让我们假设文件的 URL 是:https://www.example.com/file.pdf?v=1
如您所见,一些 URL 参数被添加到实际文件名中。
以下脚本
function() {
var url = {{Click URL}};
return url.substr(url.lastIndexOf('/')+1);
}
returns file.pdf?v=1
如何只returnfile.pdf
(没有URL参数)?
感谢您的意见!
您可以简单地使用 String.prototype.split
:
const str = 'file.pdf?v=1'
console.log(str.split('?')[0])
对于你的函数,就是
function() {
var url = {{Click URL}};
return url.substr(url.lastIndexOf('/')+1).split('?')[0];
}
试试这个:
var pdf = new URL('https://www.example.com/file.pdf?v=1').pathname.slice(1);
您可以将 url 拆分为?并参加第一部分。
var array = url.split('?');
return array[0];
您可以在 GTM 中创建一个 URL 类型变量,将其设置为 return 页面路径并将点击 url 设置为输入:
这将 return 没有协议、域和查询字符串的点击 url 路径。从那里,您可以像在您的代码示例中一样提取文件名。