2011-03-03 2 views
1

http://code.google.com/p/tumblrbadge/에서 자바 스크립트 thingy (응용 프로그램?)을 사용하여 최근의 tumblog 게시물을 내 웹 페이지에로드합니다. 그러나 JQuery를 사용하여 AJAX로 'tumblr'섹션을로드하면 스크립트가 실행되지 않습니다. 왜 이것이지, 그리고 자바 스크립트 파일을 포함시켜 AJAX로드가 완료된 후 실행해야하는지 이해합니다. 내 문제는 이것입니다 : tumblrbadge 코드를 완전히 이해하지 못했고 스크립트를에 포함시키고로드 후 tumblrBadge()를 호출하면 실행되지 않습니다. 어떻게해야 tumblrbadge 코드를 수정할 수 있습니까? AJAX로드 후에 실행되는 자바 스크립트 수정

이 모든

http://jquerytest.webs.com 문제는 사이트의 텀블러 섹션 내에서 스크립트 태그가 실행되지 않는 것입니다 것 같습니다

+0

글쎄, $ (document) .ready()는 정확하게 (.js 파일에서 이미 완료된) 것인가? – Arda

+0

$ (document) .ready()가 Safari에서는 실제로 작동하지 않지만 다른 브라우저에서는 잘 작동하는 비슷한 상황에 직면하고 있습니다. 그래서이 질문에 대한 답을 알고 싶습니다. –

+0

나는 ready 함수를 전혀 사용하지 않았습니다. 코드가 AJAX로로드 된 경우 eval() 없이도 사용할 수 있습니까? –

답변

1

에서 호스팅됩니다. ajax를 사용하여 html을 페이지에 삽입 할 때 스크립트 태그의 내용을 구문 분석하고 별도로 실행해야합니다. 텀블러 탭의 내용을 페이지에 삽입 한 후

, $("#contentOfTumblrTab script")와의 스크립트 태그를 모두 얻을 eval()를 사용하여 innerHTML 평가한다.

+0

그건 내 문제 야. 이런 식으로 eval을 사용하는데 문제가 있습니까? 나는 그것이 "나쁘다"고 온통 보았다. –

+0

eval은 javascript에서 코드 냄새가납니다. 대개 어떤 일을하는 "올바른"방법을 모르고 일부 상황에서는 문자열을 평가하는 것이 안전하지 않을 수 있기 때문입니다. 그러나이 경우에는 괜찮습니다. 코드가 몇 가지 자바 스크립트 우수 사례에 부합하는지 확인하려면 jslint (http://www.jslint.com/lint.html)를 살펴보십시오. – tilleryj

0

$(document).ready 대신 $(window).onload을 시도하십시오.

관련 문제