2014-06-25 7 views
0

나의 확장에서 "/jxXn1sxDJ과 같은 모든 문자열을 <a href="imgur.com/jxXn1sxDJx">/jxXn1sxDJx</a>으로 대체해야하지만 "정의되지 않은 것은 콘솔에서 함수가 아닙니다"라고 말합니다. 여기"undefined is not function"오류를주는 정규식 확장?

var site_content = $("body").html().replace(/(\/[a-zA-Z0-9]{8,})(?=\s)/g, '<a href="http://www.imgur.com$1">$1</a>'); 
$("body").html(site_content); 

jQuery를이 제대로 포함되어 있습니다 내 코드입니다; 확장 기능의 다른 부분은 jQuery를 사용하여 잘 작동합니다. 하지만이 두 줄을 주석으로 처리하지 않으면 작동하지 않습니다.

+0

당신이 jQuery를 포함해야합니까? '$'처럼 보이는 것은 정의되지 않았다 –

+0

예, 나는 manifest의 배경과 스크립트 아래에 처음으로 포함시켰다. – Sam

+0

다른 모든 jQuery 함수는 확장자가 잘 작동한다. – Sam

답변

1
당신이 완전히로드되기 전에 body 컨텐츠를 얻고있는 것처럼 몸이 완전히로드 된 후, 코드를 배치하려고 날 것으로 보인다

:

$(window).load(function(){ 
    var site_content = $("body").html().replace(/(\/[a-zA-Z0-9]{8,})(?=\s)/g, '<a href="http://www.imgur.com$1">$1</a>'); 
    $("body").html(site_content); 
}); 
+0

그보다 더 표준적인'$ (document) .ready() ' – Xan