Я знаю, что есть много похожих вопросов, связанных с Uncaught TypeError: Cannot read property 'match' of undefined
, но у меня просто нет большого успеха в поиске решения в какой-либо из них специально для моей проблемы.
Цель этого сценария - взять URL текущей страницы, использовать регулярное выражение для фильтрации строки запроса, найти все ссылки на странице, оценить, содержат ли они ?
, и соответственно добавить строку запроса.
Я успешно провел тестирование на CodePen, однако, когда я реализовал скрипт на веб-странице, он не прошел и вернул Uncaught TypeError
в консоли.
$(document).ready(function(){
var myRegexp = /\?([^]*)/gm;
var string_match = myRegexp.exec(window.location.href);
$('a').each(function(){
var href = $(this).attr('href');
href += (href.match(/\?/) ? '&' : '?') + string_match[1];
$(this).attr('href', href);
});
});
Ошибка помечается на .match(/\?/) ? '&' : '?') + string_match[1];
, так что я ... просто потерян в этот момент. Почему это работает только на игровых площадках кода?
Исходный код, который я модифицировал, пришел от здесь .
См. Код, работающий с CodePen здесь .
Любая помощь очень ценится, спасибо!