페이지를 다시 로드하지 않고도 모든 이미지 표시 및 숨기기 사이를 쉽게 전환할 수 있는 Firefox 설정 또는 확장 프로그램을 찾고 있습니다(Opera의 기능과 유사 - '캐시된 이미지만 표시' 기능이 바람직하지만 제 경우에는 선택 사항입니다).
이미지를 표시하거나 숨길 수 있는 확장 프로그램을 찾았습니다(이미지-표시-숨기기) 그러나 이미지를 표시하거나 숨기려면 페이지를 다시 로드해야 합니다.
이전에 모든 이미지를 숨기도록 설정된 페이지에서 이미지 숨김을 해제할 때 페이지가 다시 로드되지 않는 것을 선호합니다.
답변1
ImagePref홈페이지에는 특정(이름이 지정되지 않은) 상황에서는 작동하지 않을 수 있다고 언급되어 있지만 다시 로드하지 않고도 이미지 표시를 전환할 수 있는 확장 프로그램입니다. 열린 탭이 많으면 느리게 실행되는 것으로 나타났습니다.
절충안을 기꺼이 받아들이고 싶다면 요청한 작업 중 일부를 수행하는 또 다른 북마크릿이 있습니다.
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>
<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);
}());
답변2
자바스크립트가 필요하지 않습니다. OP는 페이지를 다시 로드하지 않고도 이미지를 쉽게 전환할 수 있는 방법을 원했으며 그 방법은 다음과 같습니다.
Firefox/Chrome/etc용 "Stylish" 확장 프로그램을 사용한 다음 아래에 추가한 코드를 사용하세요. 모든 사이트에서 작동하며 모든 이미지, 비디오(삽입) 및 배경 이미지를 숨깁니다.
@namespace url(http://www.w3.org/1999/xhtml);
/*Hide Images*/
IMG { display: none !important }
/*Hide Videos*/
iframe { display:none !important }
/*Hide Background*/
body {background:none !important }
a {background:none !important }
div {background-image:none !important }
div {background:none !important }
답변3
한 번의 클릭으로 페이지를 다시 로드하지 않고 페이지의 모든 이미지를 삭제하는 방법을 알려드릴 수 있습니다. 다음 코드 줄을 Firefox의 북마크 도구 모음에 북마크로 저장하고 이름을 "zap Images"로 지정하세요.
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)}})();
이제 이미지가 있는 웹페이지를 열고 이 북마크를 클릭하세요. 방금 이미지를 압축했습니다. 그러나 해당 항목을 다시 가져오려면 페이지를 새로 고쳐야 합니다.