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

时间:2018-05-07 08:38:24

标签: javascript forms url squarespace

我有一个Squarespace表单,只要隐藏字段填充在URL中,就会收集并提交隐藏字段,如squarespace.com/contact-us/?SQF_SOURCE=facebook

我尝试使用mobile-detect.js(https://hgoebl.github.io/mobile-detect.js/)收集设备和浏览器,但我该如何添加/添加:

?SQF_BROWSER=chrome&SQF_DEVICE=android

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

感谢。

1 个答案:

答案 0 :(得分:0)

我建议避免使用查询参数,只需直接设置隐藏字段的value即可。以下示例使用bowser代替mobile-detect.js,并通过code injection插入Squarespace网站。

<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。作为替代方案,您可以考虑在提交表单时发送custom event in Google Analytics,然后使用Google Analytics中的汇总数据来分析设备和浏览器信息。