2013-10-12 2 views
0

나는트위터 스트림 아바타를 더 큰 버전으로 바꾸는 방법은 무엇입니까?

다음 코드는 더있다 (_bigger.jpg와 _normal.jpg 문자열을 교체하지) 자동으로 _bigger 버전으로 자신의 _NORMAL 버전 eg _normal에서 스트림의 트위터 아바타를 대체하는 브라우저 확장을 만들려고 해요 jsfiddle 외부에서 수행 할 때이 대체 작업을 수행하는 중 문제가 발생했습니다. jsfiddle to test.

$("img.avatar").replaceWith(function() { 
    if ($(this).attr("src")) { 
     return $(this).attr("src", $(this).attr("src").replace("_normal", "_bigger")); 
    } else { 
     return $(this); 
    } 
}); 

그러나 트위터 페이지의 콘솔에서 동일한 코드를 사용하려고하면 모든 아바타 이미지가 사라집니다. 왜 이런거야?

답변

0

나는이 jsFiddle 작업을하지만 트위터에서하지만이 트위터에 노력하고 있습니다 이유를 아직 발견되지 않은 : 따라서

$("img.avatar[src]").each(function() { 
    var img = $(this); 
    img.attr('src', img.attr('src').replace("_normal", "_bigger")); 
}); 

당신이 img 요소를 제거하지만, 단지와의 src 속성 값을 대체하지 않습니다 새로운 것.

또한 대신 replaceWith 함수에서 src 속성 값을 테스트하는 당신은 속성이 정의 된 경우에만 img.avatarsrc으로 얻을 수있는 [attributeName] 선택기를 사용할 수 있습니다.

내가 upvotes의 방법으로 많이 제공 드릴 수 없습니다

+0

나는 여전히 낮은 새 계정 이대로 조금 더 방법은 트위터에 작동하지 않는 이유에 대해 조사하려고 대신 진심이있을 것이다 감사. 그건 내 코드보다 잘 작동합니다. 트위터 DOM으로 직접 작업 할 때이 특별한 특성이있는 이유를 직접 이해하면 더 좋을 것입니다. – jordn