根据 mobile-detect.js 输出添加 URL 参数

Adding URL parameters based on mobile-detect.js output

我有一个 Squarespace 表单,其中包含收集和提交的隐藏字段,只要隐藏字段填充在 URL 之类的 squarespace 中即可。com/contact-us/?SQF_SOURCE=脸书

我正在尝试使用移动设备收集设备和浏览器-detect.js (https://hgoebl.github.io/mobile-detect.js/) 但我将如何处理 adding/appending:

?SQF_BROWSER=chrome&SQF_DEVICE=android

到 URL 以便它可以与表单一起提交?

谢谢。

我建议避免使用查询参数,直接设置隐藏字段的 value。以下示例在您的 Squarespace 站点中使用 bowser instead of mobile-detect.js, and would be inserted via code injection

<script>
window.Squarespace.onInitialize(Y, function(){
  var dI = document.querySelector("[name='SQF_DEVICE']");
  var bI = document.querySelector("[name='SQF_BROWSER']");
  var script;
  var setInfo = function() {
    dI.value = bowser.osname + " " + bowser.osversion;
    bI.value = bowser.name + " " + bowser.version;
  };
  if (dI && bI) {
    if (!window.bowser) {
      script = document.createElement('script');
      script.onload = setInfo;
      script.type = 'text/javascript';
      script.src = '//cdnjs.cloudflare.com/ajax/libs/bowser/1.9.3/bowser.js';
      document.head.appendChild(script);
    }
    else {
      setInfo();
    }
  }
});
</script>

请记住,user agent detection has its limits. As an alternative, you might consider sending a custom event in Google Analytics 提交表单后,请使用 Google Analytics 中的聚合数据来分析设备和浏览器信息。