1

확장 프로그램이있는 웹 사이트의 특정 버그를 수정하고 싶습니다. 1.html : 크롬 확장 - img 태그 오류 무한 루프 수정

웹 사이트는 앨범을 가지고 있으며, 그것이 작동하는 방식은 각 앨범이 X 양의 이미지를 가지고 있으며 각각의 이미지는 예를 들어 자신의 페이지가 (단순 측면에서 사이트를 설명 할 것이다). 각 페이지에는 동적으로 생성 된 것으로 가정되는 단일 이미지가 있습니다. 앨범의 마지막 페이지에 때때로 어떤 이유로 img 태그는 다음과 같습니다

Resource interpreted as Image but transferred with MIME type text/html: "mainsite.com/album1/images/".

:
<img id="image" src="mainsite.com/album1/images/" onerror="this.src='mainsite.com/album1/images/'"> 

그래서이 크롬 결과

다음 로그인 무한 루프에 갇혀되고

이것은 내 컴퓨터를 일으키며이 버그의 결과로 사이트를 사용하는 다른 사람이 본래의 상태를 지체시킬 것이라고 확신합니다.

내 문제는 확장 프로그램에서이 문제를 해결할 수 있도록 확장 프로그램에서이 문제를 해결하고 싶습니다. 그렇다면 어떻게? onerror와 src 속성을 빈 문자열로 설정하려고 시도했는데 img의 src가 지속적으로 업데이트되어 오류가 계속 발생하는 것으로 보입니다.

Here's 문제의 예 (경고 시간이 오래 페이지에 머물 경우는 크롬을 지연 할 수 있습니다!)가 onerror속성 제거

답변

3

: 콘텐츠 스크립트 내

document.getElementById('image').removeAttribute('onerror'); 
// or if you use jQuery: $('#image').removeAttr('onerror'); 

img.onerror = null 사용을 isolation of JavaScript execution contexts으로 인해 작동하지 않습니다. 페이지의 onerror속성은 콘텐츠 스크립트에 표시되지 않습니다.

+0

아 그게 작동하지 왜, 정말 감사합니다, 그래서 지금은 작동합니다 :) – Vemon

0

는 대안으로, 여기에 jQuery를 무료 솔루션입니다 :

<img src="image.png" onerror="this.src='image.png'; this.onerror = null" /> 
+0

을 완전히와 완전히 무관. – Xan

+0

@ 잰, 어떻게 관련이 없습니까? 그것은 jQuery에 의존하지 않는다는 점을 제외하고는 수용된 응답과 완전히 동일한 기능을합니다. [다음은 작동하는 바이올린입니다.] – Nic

+0

정확히 뭐라 하시겠습니까? 웹 사이트의 코드가 OP의 통제하에 있지 않습니다. 그는 그것과 상호 작용할 수있는 확장 기능을 구축 중입니다. – Xan