如何在 nuxt url 中删除 /?fbclid=...
how to remove /?fbclid=... in nuxt url
你好,我想从我的主机 url 中删除 facebook 分析强制 url 参数 /?fbclid=
https://www.example.com/?fbclid=...
,当通过单击 url,问题是如果使用此参数重定向,nuxt-link-exact-active class 不会应用。
谢谢
我终于可以用这个解决它了:
methods: {
removeFacebookHook() {
var fbParam = 'fbclid';
// Check if param exists
if (location.search.indexOf(fbParam + '=') !== -1) {
var replace = '';
try {
var url = new URL(location);
url.searchParams.delete(fbParam);
replace = url.href;
// Check if locale exists
if (window.location.href.indexOf(this.locale) > -1) {
window.history.replaceState(null, null, "/" + this.locale);
};
} catch (ex) {
var regExp = new RegExp('[?&]' + fbParam + '=.*$');
replace = location.search.replace(regExp, '');
replace = location.pathname + replace + location.hash;
}
history.replaceState(null, '', replace);
}
}
}
借助这个 post modiyf urls
我让 nuxt-i18n 路由语言环境与 href.indexOf 一起工作!
不幸的是,nuxt alwaysRedirect 让我删除了切换器...
在像 https://www.example.com/?fbclid=...
这样的简单情况下,其中 fbclid 是唯一的参数,它应该是一个微不足道的 Javascript,例如:
<script>
// ideally this is on top of page; works on bottom as well
if(/^\?fbclid=/.test(location.search))
location.replace(location.href.replace(/\?fbclid.+/, ""));
</script>
这会检查 ?fbclid=...
是否是 URL 搜索参数,并导航到删除该部分的同一位置。
也可以删除任何搜索参数而不检查 fbclid
。
<script>
if(location.search) location.replace(location.href.replace(/\?.+/, ""));
</script>
对于像 https://www.example.com/?fbclid=...
这样的简单情况,其中 fbclid 是第一个也是唯一的参数,可以通过简单的服务器配置来完成。
因此,例如将其放入 .htaccess
文件中:
RewriteEngine on
<if "%{QUERY_STRING} =~ /^fbclid=/">
RewriteRule . %{REQUEST_URI}? [R=301,L]
</if>
注意 %{REQUEST_URI}
之后的 ?
。它会完全删除查询字符串。
在其他情况下(fbclid 附加到其他参数)此示例不执行任何操作 - 为此需要更复杂的代码。
我使用 JavaScript 以一种非常简单的方式解决了 Facebook 查询字符串...
在您的布局页或母版页中包含此脚本
//facebook Route Script for Query string
function faceBookQuery() {
addEventListener('fetch', event => {
let url = new URL(event.request.url)
if (url.searchParams.has('fbclid'))
url.searchParams.delete('fbclid')
event.respondWith(
fetch(url, event.request)
);
});
}
乐在其中
Il 有一个 #section
就像 https://www.example.com/file?fbclid=...#section
(pervers facebook...)然后由 j.j 提出的代码。给出 https://www.example.com/file
。
更好的代码是
if(/^\?fbclid=/.test(location.search))
location.replace(location.href.replace(location.search, ""));
N.B。删除任何搜索参数而不检查 fbclid 将阻止通过 url...
传递变量
感谢j.j。带路。
你好,我想从我的主机 url 中删除 facebook 分析强制 url 参数 /?fbclid=
https://www.example.com/?fbclid=...
,当通过单击 url,问题是如果使用此参数重定向,nuxt-link-exact-active class 不会应用。
谢谢
我终于可以用这个解决它了:
methods: {
removeFacebookHook() {
var fbParam = 'fbclid';
// Check if param exists
if (location.search.indexOf(fbParam + '=') !== -1) {
var replace = '';
try {
var url = new URL(location);
url.searchParams.delete(fbParam);
replace = url.href;
// Check if locale exists
if (window.location.href.indexOf(this.locale) > -1) {
window.history.replaceState(null, null, "/" + this.locale);
};
} catch (ex) {
var regExp = new RegExp('[?&]' + fbParam + '=.*$');
replace = location.search.replace(regExp, '');
replace = location.pathname + replace + location.hash;
}
history.replaceState(null, '', replace);
}
}
}
借助这个 post modiyf urls 我让 nuxt-i18n 路由语言环境与 href.indexOf 一起工作! 不幸的是,nuxt alwaysRedirect 让我删除了切换器...
在像 https://www.example.com/?fbclid=...
这样的简单情况下,其中 fbclid 是唯一的参数,它应该是一个微不足道的 Javascript,例如:
<script>
// ideally this is on top of page; works on bottom as well
if(/^\?fbclid=/.test(location.search))
location.replace(location.href.replace(/\?fbclid.+/, ""));
</script>
这会检查 ?fbclid=...
是否是 URL 搜索参数,并导航到删除该部分的同一位置。
也可以删除任何搜索参数而不检查
fbclid
。
<script>
if(location.search) location.replace(location.href.replace(/\?.+/, ""));
</script>
对于像 https://www.example.com/?fbclid=...
这样的简单情况,其中 fbclid 是第一个也是唯一的参数,可以通过简单的服务器配置来完成。
因此,例如将其放入 .htaccess
文件中:
RewriteEngine on
<if "%{QUERY_STRING} =~ /^fbclid=/">
RewriteRule . %{REQUEST_URI}? [R=301,L]
</if>
注意 %{REQUEST_URI}
之后的 ?
。它会完全删除查询字符串。
在其他情况下(fbclid 附加到其他参数)此示例不执行任何操作 - 为此需要更复杂的代码。
我使用 JavaScript 以一种非常简单的方式解决了 Facebook 查询字符串... 在您的布局页或母版页中包含此脚本
//facebook Route Script for Query string
function faceBookQuery() {
addEventListener('fetch', event => {
let url = new URL(event.request.url)
if (url.searchParams.has('fbclid'))
url.searchParams.delete('fbclid')
event.respondWith(
fetch(url, event.request)
);
});
}
乐在其中
Il 有一个 #section
就像 https://www.example.com/file?fbclid=...#section
(pervers facebook...)然后由 j.j 提出的代码。给出 https://www.example.com/file
。
更好的代码是
if(/^\?fbclid=/.test(location.search))
location.replace(location.href.replace(location.search, ""));
N.B。删除任何搜索参数而不检查 fbclid 将阻止通过 url...
传递变量感谢j.j。带路。