функция запуска на другой странице через ajax - PullRequest
0 голосов
/ 17 марта 2020

На нашем веб-сайте мы загружаем скрипт IIFE от третьей стороны, который проверяет определенный параметр url и устанавливает команду cook ie. На другой странице я хочу установить этот параметр без перенаправления пользователя, перезагрузки страницы или вмешательства в код сторонних разработчиков.

Причина, по которой я хочу действовать таким образом, заключается в том, что третьи лица устанавливают данные только из параметров url, обычно пользователи переходят на сайт по ссылке из социальных сетей или из других источников, и этот параметр предопределен (ie: example.com/?color=red). Однако мы хотим, чтобы клиенты могли выбирать параметр, который устанавливается сторонним кодом. Возможное решение, которое я нашел, - это запрос ajax $ .get, однако это не работает.

Чтобы получить лучшее представление о том, что я пытаюсь выполнить, вот целое sh Упрощенный процесс:

на example.com

(function(){

function run_this(){
    const queryString = window.location.search;
    const urlParams = new URLSearchParams(queryString);
    const fav_color = urlParams.get('color');
    document.cookie = 'customer_fav_color=testing that we can set colors through a GET request - customer color is '+ fav_color;
}


run_this();
})();

на example.com/cart

 var fav_color = 'blue';
    var color_xhr = $.get('https://example.com',{color: fav_color}
         ).done(function(data, status, xhr){
              // do something here
         });

Есть идеи, почему это не сработает?

1 Ответ

0 голосов
/ 17 марта 2020

Вы можете использовать localStorage или sessionStorage для хранения общих параметров между вкладками и получения уведомлений о новых изменениях, установив таймер для проверки этого параметра с помощью setInterval.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...