Алоха!
Я работаю над довольно интересным небольшим проектом.Мне, по крайней мере, это интересно.А именно расширение Chrome.Он получает ссылки с веб-сайта и выкладывает их на новой вкладке.По сути, это Link Grabber, но он очень специфический.
Есть две схемы URL, с которыми мне приходится иметь дело.
У меня сгенерирован следующий JSON: EDIT после комментария TJ Crowder: Это не JSON.Это ... Редактировать II : JavaScript.Спасибо TJ.
(_chrome);
!function() {
for (var elements = document.querySelectorAll("a:link[href*='/s1/product/']:not([href*='#']):not([href^=javascript])"), links = new Array(elements.length), i = 0; i < elements.length; i++) links[i] = {
host: elements[i].host,
hostname: elements[i].hostname,
href: elements[i].href,
productnumber: elements[i].href,
pathname: elements[i].pathname,
search: elements[i].search,
text: elements[i].text
};
console.log(links)
_chrome2.default.runtime.sendMessage(links);
}();
Проблема возникает, когда я хочу сделать номер продукта.Для этого мне нужно было бы иметь возможность изменять elements [i] .href в функции.Из более раннего проекта, я сказал функцию.Я уже возился с этим, пока не наткнулся на стену, которая заставила меня сделать этот пост.
function() {
var urlsList = JSON.parse(elements[i].href);
console.log(urlsList);
var ju = urlsList.split('?')[0]
pat = /[-|\/](\d{5,8})$/
rv = pat.exec(ju)
if (rv !== null) {
console.log("Found id: " + rv[1])
return rv[1]}}
Поэтому мой вопрос заключается в следующем: как выделить все номера продуктов и отделить все послепотенциальный "?"?
Ура и спасибо за помощь!