Просмотр полной версии : новичку нужна помощь с циклом
bombino1
11.11.2017, 13:47
Привет всем. Я написал крохотный скрипт для greasemonkey, который на лету меняет в все id товаров на один, нужный мне:
// ==/UserScript==
document.getElementById("product_138649").value = "138503";
document.getElementById("product_138641").value = "138503";
document.getElementById("product_138491").value = "138503";
document.getElementById("product_138645").value = "138503";
document.getElementById("product_138653").value = "138503";
document.getElementById("product_138661").value = "138503";
document.getElementById("product_138671").value = "138503";
все работает, но иногда product_##### меняются, убираются магазином, и тогда скрипт не срабатывает, не найдя определенный product. Можно ли как-то сделать мою замену циклом, и с маской, чтоб value 138503 присваивался всем product_* ? Спасибо!
var p = document.querySelectorAll('[id^=product_]');
Это коллекция. Далее можно ее и циклом for обойти и сотворить нужное.
bombino1
11.11.2017, 14:15
спасибо за быстрый ответ, попробую, хотя циклы еще не изучал, может получится
[].forEach.call(document.querySelectorAll('[id^=product_]'),function(node){
node.value=138503;
});
bombino1
11.11.2017, 14:38
Nexus: потрясающе, спасибо, всё работает!
bombino1
28.03.2021, 20:23
Привет все, такой вопрос, какой командой можно удалить всех моделей сайта кто в оффлайне, вот скриншот https://thumb.cloud.mail.ru/weblink/thumb/xw1/gfB7/Zy4m6Teo3?x-email=jaanpht%40mail.ru желтым я обвёл всех моделей у кого такой статус. Можно ли их всех скрыть, свернуть, не загружать? Просто их сотни и они очень тормозят при авторефреше, и подтягивают ненужную графику.. Мне в прошлый раз помогли алгоритмом поиска, вроде так должно сработать, но затык как раз в команде удаления всего что совпало с 'offline':
// ==UserScript==
// @name auto
// @namespace phonemates.com
// @include *https://phonemates.com/myfavorites*
// @version 1
// @grant GM_openInTab
// ==/UserScript==
function getOfflineLinks() {
return Array.prototype.filter.call(
document.querySelectorAll('.hcm-hostNameWrapper + .hcm-rightBottomIcons .chatType'),
element => element.textContent.trim() === 'Offline'
).map(
element => element
.closest('.hcm-rightBottomIcons')
.previousElementSibling
)
}
исходник страницы: https://cloud.mail.ru/public/ugE3/YKrao836r
на сайте 3 категории статусов, идут в очерёдности: free, private, и под конец offline (которых и хочется вовсе не подгружать, обрезать страницу до них).
Спасибо!
bombino1
30.03.2021, 22:31
друзья-товарищи, подсобите пожалуйста, ведь там пару строчек всего кода. Сбил все руки-ноги, ничего не получается
bombino1,
function removeAndHideOffline() {
document.body.insertAdjacentHTML('beforeend', '<style>.layoutWrapper > .hc-offline{display: none}</style>');
document.querySelectorAll('.layoutWrapper > .hc-offline').forEach(
element => element.parentNode.remove()
)
}
removeAndHideOffline()
bombino1
31.03.2021, 11:16
Огромное спасибо, как часы сработало, как и всегда!
bombino1
17.10.2021, 18:14
Можно ли находясь в обычном режиме Firefox-a, открыть ссылку в JS именно в режиме incognito? Час гугления показал что windows.create() (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows/create) имеет ключ incognito, но синтаксис пишет ошибку в tampermonkey, возможно работает только в developer's add-on, спасибо большое!
bombino1, browser.windows.create() работает только в коде расирения.
В tampermonkey есть команда GM_openInTab (https://www.tampermonkey.net/documentation.php?ext=dhdg#GM_openInTab). (не забыть разрешить скрипту её использовать, добавив в шапку // @grant GM_openInTab)
bombino1
17.10.2021, 18:43
bombino1, browser.windows.create() работает только в коде расирения.
В tampermonkey есть команда GM_openInTab (https://www.tampermonkey.net/documentation.php?ext=dhdg#GM_openInTab). (не забыть разрешить скрипту её использовать, добавив в шапку // @grant GM_openInTab)
я эту команду и использую, все шикарно работает благодаря Вашей помощи, но открывает в текущем окне, не в инкогнито. В связи с введением рекапчи на сайте, на которую я постоянно попадаю, хотел чтоб все автоклики вели в режим инкогнито (без логина, с vpn), сменится ip и капчи быть не должно. И одно но: для работы базовый сайт-каталог должен-таки быть открыт в обычном режиме, не икногнито, с логином.
bombino1, ты ссылку открывал? Там вторым параметром идут дополнительные опции, среди которых есть incognito.
bombino1
17.10.2021, 18:54
получилось! Спасибо!
bombino1
18.10.2021, 17:22
ув. Aetae, рискнул написать Вам в ЛС, остался ещё один пустячок.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot