Пытаюсь создать свой первый userscript (Chrome + Violentmonkey).
Есть сайт со списком ссылок на другие страницы этого же сайта. На сайт можно зайти только с авторизацией(может быть это важно).
Пытаюсь в подсказки к ссылкам добавить текст со страниц куда они ссылаются. Но процесс застревает на функции load() (jquery-3.3.1), а точнее - ощущение что эта функция игнорируется - до и после неё код выполняется, она сама нет, и не выдаёт никаких сообщений, консоль ошибок пустая. Пробовал просто другую jQuery функцию - работает.
Где ошибка или ограничение? Как можно сделать по другому?
// ==UserScript==
// @name RTHelper
// @include https://site.ru/
// ==/UserScript==
// @require https://code.jquery.com/jquery-3.3.1.min.js
(function (window, undefined) {
var w;
if (typeof unsafeWindow != undefined) {
w = unsafeWindow
} else {
w = window;
}
if (w.self != w.top) {
return;
}
if (/https:\/\/site.ru/.test(w.location.href)) {
jQuery(document).ready(function($){
// Взять список элементов
var listItems = document.getElementsByClassName('list-item');
// Текущий url адрес
var url = window.location.toString();
// Тестировать только на первом элементе
for (var i = 0; i < 1; i++) {
var aElements = listItems[i].getElementsByTagName('a');
var aElement = aElements[0];
var itemUrl = url + aElement.getAttribute('href');
// такая конструкция для отлова багов в функции загрузки
var hMessages = $(".messagebody").load(itemUrl, function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
alert(msg + xhr.status + " " + xhr.statusText);
}
else { alert("ELSE!")
}
});
// Выдаёт 0
alert(hMessages.length);
// Тут начинаю подстановку подсказок
};
});
};
}) (window);
Неправильное использование метода load (http://api.jquery.com/load/) Оказывается он добавляет в конкретный элемент текущей страницы, элемент с загружаемой страницы. Так в div c ID newdiv загружаем элемент с ID footer с адреса itemUrl.
$("#newdiv").load(itemUrl + ' #footer')
Я ожидал, что могу загрузить в переменную список загруженных элементов и работать с ними.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть форма и массивКак сделать, чтобы по щелчку по кнопке заполнилась форма соответственно ключам?
Говорю сразу - JS изучаю совсем недавно, ошибка может быть очень глупой Не работает событие onclick Фрагмент кода HTML:
Сейчас я получаю объект из базы, отображаю его свойства в формеПри изменении хотя бы одного поля, По клику на кнопку отправляю всю форму в виде...