getImage: Изменение URL
getImage используется для получения адреса оригинала через JS, подходит для сайтов, где простая замена не работает.
Сигнатура функции
js
getImage(a, p) {}a: Первый родительский элемент A, где находится изображение (может быть пустым).p: Массив всех родительских элементов.this: Текущий элемент изображения.
Распространенные шаблоны
Получение из параметров ссылки
js
getImage: function (a) {
if (!a) return
if (a.href.match(/imgurl=(.*?)&/i)) {
return decodeURIComponent(RegExp.$1)
}
}Получение через атрибут данных
js
getImage: function () {
return this.getAttribute('data-original')
}Возврат нескольких изображений
js
getImage: function () {
return [this.src, this.src.replace('thumb', 'large')]
}Советы
- Возврат
nullилиundefinedпродолжит выполнение последующей логики. - Для сложных сайтов можно инициировать события или анализировать DOM внутри функции.