Скрипт против картинок Maximusa
Для Chrome - Tempermonkey
// ==UserScript==
// @name javascript.ru
// @namespace http://javascript.ru/
// @version 0.3
// @description enter something useful
// @match http://*javascript.ru/*
// @copyright 2012+, You
// ==/UserScript==
var on = 'addEventListener', off = 'removeEventListener',
q = function (s, e) { var q, d = document, e = e || d, a = [], f, i; if (!s) { return d };
if (typeof e == 'function') { f = e; e = d; } q = e.querySelectorAll(s);
for (i=0; i < q.length; i++) { if(f) { q[i] = f(q[i]); if(q[i]) {a.push(q[i])}} else {a.push(q[i])}} return a};
q('table td.alt1 div:first-child img', function (el) {
el.style.maxWidth = '100px';
el.style.maxHeight = '100px';
el.addEventListener('click', function (e) {
if (this.style.maxWidth == '100px') {
this.style.maxHeight = '100%';
this.style.maxWidth = '100%';
this.style.width = '600px';
}
else {
this.style.maxWidth = '100px';
this.style.maxHeight = '100px';
}
}, false);
});
Для Firefox - Gracemonkey
// ==UserScript==
// @name javascript.ru
// @namespace javascript.ru
// @include http://*javascript.ru/*
// @version 0.1
// @grant none
// ==/UserScript==
var on = 'addEventListener', off = 'removeEventListener',
q = function (s, e) { var q, d = document, e = e || d, a = [], f, i; if (!s) { return d };
if (typeof e == 'function') { f = e; e = d; } q = e.querySelectorAll(s);
for (i=0; i < q.length; i++) { if(f) { q[i] = f(q[i]); if(q[i]) {a.push(q[i])}} else {a.push(q[i])}} return a};
q('table td.alt1 div:first-child img', function (el) {
el.style.maxWidth = '100px';
el.style.maxHeight = '100px';
el.addEventListener('click', function (e) {
if (this.style.maxWidth == '100px') {
this.style.maxHeight = '100%';
this.style.maxWidth = '100%';
this.style.width = '600px';
}
else {
this.style.maxWidth = '100px';
this.style.maxHeight = '100px';
}
}, false);
});
https://github.com/seolog/corn.js |
Если убрать if (node && node.innerHTML.search(/maxi/) != -1) { то все картинки будут уменьшаться.
|
запили как расширение что ли, а еще можно просто добавить его в игнор и не будешь видить его сообщений.
|
Цитата:
https://chrome.google.com/webstore/d...mpobfkfo?hl=ru Просто вставь вышеприведенный код. |
![]() |
Maxmaxmaximus6,
у меня уже подключен скрипт и я не вижу что ты там запилил. Какой же это кайф :) |
Gozar, не, спс, закину код в расширение)
|
Gozar, у меня не работает почему то, это расширение не выполняет скрипты на странице, в настойках дал доступ к ссылкам и прописал путь, это все что бы в faq, подключил
// ==UserScript== // @name javascript.ru // @namespace javascript.ru // @include [url]http://*javascript.ru/*[/url] // @version 1 // @grant none // ==/UserScript== |
// ==UserScript==
// @name javascript.ru
// @namespace javascript.ru
// @include http://*javascript.ru/*
// @version 2
// @grant none
// ==/UserScript==
var on = 'addEventListener', off = 'removeEventListener',
q = function (s, e) { var q, d = document, e = e || d, a = [], f, i; if (!s) { return d };
if (typeof e == 'function') { f = e; e = d; } q = e.querySelectorAll(s);
for (i of q) { if(f) { i = f(i); if(i) {a.push(i)}} else {a.push(i)}} return a};
q('table td.alt1 div:first-child img').forEach(function (el) {
el.style.maxWidth = '100px';
el.style.maxHeight = '100px';
el.addEventListener('click', function (e) {
if (this.style.maxWidth == '100px') {
this.style.maxHeight = '100%';
this.style.maxWidth = '100%';
this.style.width = '600px';
}
else {
this.style.maxWidth = '100px';
this.style.maxHeight = '100px';
}
}, false);
});
Новая версия. Работает с любыми картинками, а то вдруг он ник сменит. По клику увеличивает картинку. |
Gozar, короче заработало, только твой код ошибку выкидует.
|
Цитата:
|
Gozar, вот ошибка
Цитата:
(из за того что код сжат разбираться не стал)
var on = 'addEventListener', off = 'removeEventListener',
q = function (s, e) { var q, d = document, e = e || d, a = [], f, i; if (!s) { return d };
if (typeof e == 'function') { f = e; e = d; } q = e.querySelectorAll(s);
for (i of q) { if(f) { i = f(i); if(i) {a.push(i)}} else {a.push(i)}} return a};
Если запустить из консоли так же вылетает ошибка. Цитата:
|
Цитата:
|
Цитата:
|
Обновил 1 сообщение. Смотри код для Chrome и Firefox.
|
Цитата:
for (i of q)переделал на кроссбраузерный вариант. Я уже на EcmaScript 6, гыгы :) |
поставил, заценил, работает )
можно было jQuery юзать, оно есть на странице. |
Цитата:
|
Цитата:
Да, да, совсем забыл. Вот ссылочка https://github.com/seolog/corn.js переходите пожалуйста, переводите денежки на кошелек, помогите в развитии или сокращении corn проекта ... или можно просто плюсануть в карму, а я вам лайков 100 штук вконтактиковых взамен шлепну на акк ... (это шутка, если кто не догонит) |
Цитата:
|
Цитата:
Цитата:
|
Gozar, вот почему ты мне давал ссылку на этот проект:)
|
Gozar,
q('#one')[0][off]('click', clkFunc, false);
дальше не читал ![]() |
Цитата:
|
Gozar, ну я с ним согласен, синтаксис какой то извращенный:)
|
Цитата:
|
Цитата:
Цитата:
Gozar, сделай чтобы по клику зумить можно было, и открывалась галерея на все вложенные картинки в посте. |
Цитата:
|
пофиксил твой говнокод
// ==UserScript==
// @name javascript.ru
// @namespace [url]http://javascript.ru/[/url]
// @version 0.3
// @description enter something useful
// @match [url]http://*javascript.ru/*[/url]
// @copyright 2012+, You
// ==/UserScript==
(function() {
var selector = 'table td.alt1 div:first-child img';
var images = document.querySelectorAll(selector) || [];
var imagesArr = Array.prototype.slice.call(images);
imagesArr.forEach(function(image) {
var zoom = false;
image.style.maxWidth = '100px';
image.style.maxHeight = '100px';
image.addEventListener('click', function() {
if (!zoom) {
this.style.maxHeight = '';
this.style.maxWidth = '';
}
else {
this.style.maxWidth = '100px';
this.style.maxHeight = '100px';
}
zoom = !zoom;
});
});
}());
сжатая версия
// ==UserScript==
// @name javascript.ru
// @namespace [url]http://javascript.ru/[/url]
// @version 0.3
// @description enter something useful
// @match [url]http://*javascript.ru/*[/url]
// @copyright 2012+, You
// ==/UserScript==
(function(){var c=document.querySelectorAll("table td.alt1 div:first-child img")||[];Array.prototype.slice.call(c).forEach(function(a){var b=!1;a.style.maxWidth="100px";a.style.maxHeight="100px";a.addEventListener("click",function(){b?(this.style.maxWidth="100px",this.style.maxHeight="100px"):(this.style.maxHeight="",this.style.maxWidth="");b=!b})})})();
|
Maxmaxmaximus6, ахах, ты не пробывал просто не заливать идиотские картинки?
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Maxmaxmaximus6, добавь что ли открытие в popup окне)
|
Цитата:
|
Цитата:
|
рефакторинг от папки
// ==UserScript==
// @name javascript.ru
// @namespace [url]http://javascript.ru/[/url]
// @version 0.4
// @description enter something useful
// @match [url]http://*javascript.ru/*[/url]
// @copyright 2012+, You
// ==/UserScript==
(function() {
var MIN_WIDTH = 100;
var MAX_WIDTH = 700;
var ANIMATION_TIME = 0.6;
var selector = 'table td.alt1 div:first-child img';
var images = document.querySelectorAll(selector) || [];
var imagesArr = Array.prototype.slice.call(images);
imagesArr.forEach(function(image) {
var zoom = false;
image.style.maxWidth = MIN_WIDTH + 'px';
image.style.transition = ANIMATION_TIME + 's';
image.addEventListener('click', function() {
this.style.maxWidth = (zoom ? MIN_WIDTH : MAX_WIDTH) + 'px';
zoom = !zoom;
});
});
}());
|
Цитата:
|
Цитата:
[].slice.call(images); Короче и работает обычно быстрее (т.к. тут нет поиска идентификатора Array, а сразу ясно, что идёт работа с массивом) |
| Часовой пояс GMT +3, время: 12:06. |