Я ищу установку Firefox или расширение, которое может легко переключиться между показом и сокрытием всех изображений, не перезагружая страницу (подобный функции Opera - функция 'Show only cached images' является предпочтительной, но дополнительной в моем случае).
Я нашел расширение, которое может показать/скрыть изображения (Image-Show-Hide), но он должен перезагрузить страницу для показывания/скрытия изображений.
Я предпочитаю, чтобы страница не перезагрузила при отображении изображений от страницы ранее набор для сокрытия всех изображений.
ImagePref является расширением, которое позволяет Вам переключать дисплей изображения без перезагрузки, хотя домашняя страница упоминает, что не может работать при определенных обстоятельствах (без имени). Я заметил его работающий вяло, если существует много открытых вкладок.
Если Вы готовы принять компромиссы, вот другой bookmarklet, который делает часть из того, что Вы просите:
javascript:(function(){function%20toggleImages(root){var%20stylesheet,stylesheetId='bookmarklet-hide-image-stylesheet',rules='*%20{%20background-image:%20none%20!important;%20}%20img,%20input[type=image],%20object[type^=image]%20{%20visibility:%20hidden%20!important;%20}',tagNames=['frame','iframe'],elements,i,j;stylesheet=root.getElementById(stylesheetId);if(stylesheet){stylesheet.parentNode.removeChild(stylesheet);}else{stylesheet=root.createElement('style');stylesheet.type='text/css';stylesheet.id=stylesheetId;if(stylesheet.styleSheet){stylesheet.styleSheet.cssText=rules;}else{stylesheet.appendChild(root.createTextNode(rules));}root.getElementsByTagName('head')[0].appendChild(stylesheet);}for(i=0;i<tagNames.length;i+=1){for(j=0,elements=root.getElementsByTagName(tagNames[i]);j<elements.length;j+=1){toggleImages(elements[j].contentDocument);}}}toggleImages(document);}());
Это пытается скрыть и раскрыть фоновые изображения, <img>
теги и <input>
и <object>
теги с type="image"
, но существует все еще много более странных способов доставки изображения, как которые это не возьмет на, <embed>
или <object>
s с <param>
теги. Это не будет работать через домены из-за мер по безопасности браузера (обычно примечательный, когда будет реклама в <iframes>
), и это может быть переопределено пользовательской таблицей стилей или ударено, если страница использует !important
.
Читаемый исходный код для заинтересованного:
(function () {
function toggleImages(root) {
var stylesheet,
stylesheetId = 'bookmarklet-hide-image-stylesheet',
rules = '* { background-image: none !important; } img, input[type=image], object[type^=image] { visibility: hidden !important; }',
tagNames = ['frame', 'iframe'],
elements,
i,
j;
stylesheet = root.getElementById(stylesheetId);
if (stylesheet) {
stylesheet.parentNode.removeChild(stylesheet);
} else {
stylesheet = root.createElement('style');
stylesheet.type = 'text/css';
stylesheet.id = stylesheetId;
if (stylesheet.styleSheet) {
stylesheet.styleSheet.cssText = rules;
} else {
stylesheet.appendChild(root.createTextNode(rules));
}
root.getElementsByTagName('head')[0].appendChild(stylesheet);
}
for (i = 0; i < tagNames.length; i += 1) {
for (j = 0, elements = root.getElementsByTagName(tagNames[i]); j < elements.length; j += 1) {
toggleImages(elements[j].contentDocument);
}
}
}
toggleImages(document);
}());
Я могу сказать Вам, как уничтожить все изображения на странице одним щелчком и не перезагружая страницу. Просто сохраните следующую строку кода как закладку на Панели инструментов Закладки Firefox и назовите ее "изображениями столкновения".
javascript:(function(){function%20toArray%20(c){var%20a,%20k;a=new%20Array;for%20(k=0;%20k%20<%20c.length;%20++k)a[k]=c[k];return%20a;}var%20images,%20img,%20altText;images=toArray(document.images);for%20(var%20i=0;%20i%20<%20images.length;%20++i){img=images[i];altText=document.createTextNode(img.alt);img.parentNode.replaceChild(altText,%20img)}})();
Теперь, откройте веб-страницу с изображениями и нажмите на эту закладку. Вы просто убили изображения. Однако для возвращения их, необходимо обновить страницу.