您好,我想从我的主机网址中删除Facebook分析强制网址参数/?fbclid=
https://www.example.com/?fbclid=...
,当通过单击url从Facebook重定向时,问题是nuxt-link-exact-如果使用此参数重定向,则不会应用活动类。
谢谢
答案 0 :(得分:2)
在诸如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>
答案 1 :(得分:1)
对于像https://www.example.com/?fbclid=...
这样的简单情况,其中 fbclid 是第一个也是唯一的参数,可以通过简单的服务器配置来完成。
例如,将其放在.htaccess
文件中:
RewriteEngine on
<if "%{QUERY_STRING} =~ /^fbclid=/">
RewriteRule . %{REQUEST_URI}? [R=301,L]
</if>
请注意?
之后的%{REQUEST_URI}
。它将完全删除查询字符串。
答案 2 :(得分:0)
我终于可以用以下方法解决它:
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);
}
}
}
借助此帖子modiyf urls 我使nuxt-i18n路由语言环境与href.indexOf一起使用! 不幸的是,nuxt alwaysRedirect让我删除了切换台...
答案 3 :(得分:0)
我使用 JavaScript 以一种非常简单的方式解决了 Facebook 查询字符串... 在您的布局页面或 MastrPage 中包含此脚本
//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)
);
});
}
享受