Я хочу добавить строку запроса в URL ко всем ссылкам на странице - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь добавить строку запроса в URL ко всем ссылкам на странице. Если URL страницы был www.example.com/page?paramter1=variable&parameter2=variable2

Переменные могут меняться каждый раз, и это будет использоваться для аналитики.

Я бы хотел, чтобы все остальные ссылки на странице автоматически получали ? paramter1 = variable¶meter2 = variable2 добавлено к ним при загрузке страницы.

Я играл со следующим сценарием, но не могу получить переменную ' myquerystringtoadd 'заполняется строкой запроса в URL-адресе, который я не обязательно знаю, какими будут параметры, поэтому это целая строка запроса.

var querystring = 'myquerystringtoadd';

$('a').each(function()
{
 var href = $(this).attr('href');
 href += (href.match(/\?/) ? '&' : '?') + querystring;
 $(this).attr('href', href);
});

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 27 января 2020

Как насчет использования querySelectorAll в ванили javascript вместо jquery. Кроме того, убить своего ведущего '?' в querystring. И если часть вашего вопроса касается того, как получить строку запроса из URL текущей страницы, используйте window.location.search.

В приведенном ниже фрагменте у вас есть несколько якорей поиска Google. Один ищет «x», а другой - «y». Строка запроса дополнительно указывает, что в обоих якорях требуется безопасный поиск изображений.

// You will use window.location.search
let querystring = '?tbm=isch&safe=active' 

if(querystring.startsWith('?'))
    querystring = querystring.replace('?', '');

for(let a of document.querySelectorAll('a')) {
    a.href += 
        (a.href.match(/\?/) ? '&' : '?') + 
        querystring;
}
<a href='https://www.google.com/search?q=x'>search x images safely</a><br/>
<a href='https://www.google.com/search?q=y'>search y images safely</a>

Примечание. Возможно, вы заметили, что я часто редактирую этот вопрос, но это просто для работы со строками запроса Google.

...