Подошла недавно коллега и поведала, что никак у нее не получается сохранить страничку ГОСТа с нелюбимого сайта http://protect.gost.ru.
«Нам ли быть в печали, старушка» — сказал я ей, открыл вышеупомянутый сайт и началковырять смотреть.
Выяснилось, что алгоритм «защиты» достаточно прост — картинка со станицей ГОСТа накладывается css-стилем на прозрачную картинку pixel.gif. В результате при попытке сохранения картинки через «Сохранить изображение как..» в Firefox мы сохраняем не нужную нам страничку ГОСТа, а pixel.gif.
«Лень — двигатель прогресса» — подумал я и накидал небольшой скриптик для GreaseMonkey, которым и делюсь с хабрачитателями.
После установки скрипта мы получаем возможность сохранять именно нужную нам страницу.
Прекрасно работает в Firefox 3.6.3 + GreaseMonkey 0.8.20100408.6
Хабрапользователь nanodust подсказал уже существующий скрипт с аналогичным функционалом на UserScript.org (прошу прощения за укорот ссылки, не хватает опыта для «обмана» хабрапарсера).
Хабрапользователь david_mz написал букмарклет для разворачивания ГОСТов:
«рабочая» версия:
«читабельная» версия:
Способ применения: для реальной работы необходимо взять кусок букмарклета в «рабочем» виде и сделать в браузере закладку, у которой вместо URL — этот код. Потом зайти на любую страницу нужного ГОСТ (именно на страницу, а не на аннотацию) и нажать на закладку. Появятся все страницы данного ГОСТ в виде картинок без всякой защиты.
«Нам ли быть в печали, старушка» — сказал я ей, открыл вышеупомянутый сайт и начал
Выяснилось, что алгоритм «защиты» достаточно прост — картинка со станицей ГОСТа накладывается css-стилем на прозрачную картинку pixel.gif. В результате при попытке сохранения картинки через «Сохранить изображение как..» в Firefox мы сохраняем не нужную нам страничку ГОСТа, а pixel.gif.
«Лень — двигатель прогресса» — подумал я и накидал небольшой скриптик для GreaseMonkey, которым и делюсь с хабрачитателями.
// ==UserScript==
// @name GostRu
// @namespace http://protect.gost.ru/*
// @description Delete pixel image under Gost
// @include http://protect.gost.ru/*
// ==/UserScript==
var s_l=document.styleSheets.length;
for (j=0;j<s_l;j++) {
var st=document.styleSheets[j].cssRules,
st_l=st.length;
for (i=0;i<st_l;i++) {
if (st[i].selectorText==='.face') {
im=st[i].style.backgroundImage;
break;
}
}
}
im=im.split('"')[1];
if (im!=='') {
var img=document.getElementsByTagName('img'),
img_l=img.length;
for (i=0;i<img_l;i++) {
if (img[i].className==='face') {
img[i].src=im;
}
}
}
После установки скрипта мы получаем возможность сохранять именно нужную нам страницу.
Прекрасно работает в Firefox 3.6.3 + GreaseMonkey 0.8.20100408.6
Хабрапользователь nanodust подсказал уже существующий скрипт с аналогичным функционалом на UserScript.org (прошу прощения за укорот ссылки, не хватает опыта для «обмана» хабрапарсера).
Хабрапользователь david_mz написал букмарклет для разворачивания ГОСТов:
«рабочая» версия:
javascript:(function() { var ids = []; for(var i=0;i<document.links.length;i++) { var a = document.links[i]; if (a.href.indexOf('&pageK=') < 0 || !a.firstChild) continue; ids.push(a.href.substr(a.href.indexOf('pageK=') + 6, 36)); } document.open(); document.write('<html><body></body></html>'); document.close(); for(var i=0;i<ids.length;i++) { var img = document.createElement('img'); img.src="image.ashx?page="+ids[i]; document.body.appendChild(img); } })();
«читабельная» версия:
javascript:(
function() {
var ids = [];
for(var i=0;i<document.links.length;i++) {
var a = document.links[i];
if (a.href.indexOf('&pageK=') < 0 || !a.firstChild) continue;
ids.push(a.href.substr(a.href.indexOf('pageK=') + 6, 36));
}
document.open();
document.write('<html><body></body></html>');
document.close();
for(var i=0;i<ids.length;i++) {
var img = document.createElement('img');
img.src="image.ashx?page="+ids[i];
document.body.appendChild(img);
}
}
)();
Способ применения: для реальной работы необходимо взять кусок букмарклета в «рабочем» виде и сделать в браузере закладку, у которой вместо URL — этот код. Потом зайти на любую страницу нужного ГОСТ (именно на страницу, а не на аннотацию) и нажать на закладку. Появятся все страницы данного ГОСТ в виде картинок без всякой защиты.