Добавление параметров URL на основе вывода mobile-detect.js - PullRequest
0 голосов
/ 07 мая 2018

У меня есть форма 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 голосов
/ 07 мая 2018

Я бы рекомендовал избегать использования параметров запроса и просто устанавливать value ваших скрытых полей напрямую. В следующем примере используется bowser вместо mobile-detect.js, и он будет вставлен через внедрение кода в ваш сайт 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>

Имейте в виду, что обнаружение пользовательского агента имеет свои пределы . В качестве альтернативы вы можете рассмотреть возможность отправки пользовательского события в Google Analytics при отправке формы, а затем использовать агрегированные данные в Google Analytics для анализа информации об устройстве и браузере.

...