Javascript 如何删除/?fbclid=。。。在nuxt url中

Javascript 如何删除/?fbclid=。。。在nuxt url中,javascript,facebook,vue.js,nuxt.js,Javascript,Facebook,Vue.js,Nuxt.js,你好,我想删除facebook解析强制url参数/?fbclid=https://www.example.com/?fbclid=...,从我的主机url,当通过单击url从facebook重定向时,问题是如果使用此参数重定向,则不会应用nuxt link exact active类。 谢谢我终于可以解决这个问题了: methods: { removeFacebookHook() { var fbParam = 'fbclid'; // Check if param exi

你好,我想删除facebook解析强制url参数
/?fbclid=
https://www.example.com/?fbclid=...
,从我的主机url,当通过单击url从facebook重定向时,问题是如果使用此参数重定向,则不会应用nuxt link exact active类。
谢谢

我终于可以解决这个问题了:

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);
    }
  }
}
在这篇文章的帮助下 我让nuxt-i18n路由区域设置与href.indexOf一起工作!
不幸的是,nuxt alwaysRedirect让我卸下了交换机…

我终于可以用以下方法解决它:

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);
    }
  }
}
在这篇文章的帮助下 我让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>

在像
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>

对于像
https://www.example.com/?fbclid=...
其中fbclid是第一个也是唯一的参数,可以通过简单的服务器配置完成

例如,将其放入
.htaccess
文件中:

RewriteEngine on
<if "%{QUERY_STRING} =~ /^fbclid=/">
 RewriteRule  .  %{REQUEST_URI}?   [R=301,L]
</if>
重新编写引擎打开
重写规则%{REQUEST_URI}?[R=301,L]
注意
%{REQUEST\u URI}
之后的
。它完全删除查询字符串



在其他情况下(其中fbclid附加到其他参数),此示例不起任何作用-需要更复杂的代码。

对于像
https://www.example.com/?fbclid=...
其中fbclid是第一个也是唯一的参数,可以通过简单的服务器配置完成

例如,将其放入
.htaccess
文件中:

RewriteEngine on
<if "%{QUERY_STRING} =~ /^fbclid=/">
 RewriteRule  .  %{REQUEST_URI}?   [R=301,L]
</if>
重新编写引擎打开
重写规则%{REQUEST_URI}?[R=301,L]
注意
%{REQUEST\u 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)
           );
       });
    }

Injoy

我使用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)
           );
       });
    }

Injoy

我来看看谢谢我来看看谢谢