2011-04-24 11 views
1

JavaScript 변수에 ReCaptcha 코드를 저장 한 다음 동적으로 생성 된 DIV에 captcha를 동적으로 표시해야합니다. 문제는 다음 코드는 변수에 저장 될 수 없다 :변수에 저장하는 방법은 무엇입니까?

<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k="></script><noscript><iframe src="http://www.google.com/recaptcha/api/noscript?k=" height="300" width="500" frameborder="0"></iframe><br/><textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea><input type="hidden" name="recaptcha_response_field" value="manual_challenge"/></noscript>

나는 방화범 오류를 얻을 : unterminated string literal. 어떻게 작동 시키는가?

+1

의 대답은 교체 읽어 보시기 바랍니다 모든 \ "함께" – Rob

+0

이유 방화범은 문자열의 (모든 표준 호환 브라우저해야대로)입니다 종료되지 않은 (1) 사용하고 있기 때문에 견적을 생각한다 (@Rob 언급 한 것과 똑같이) 역 슬래시로 이스케이프해야하는 문자열 내부의 표시와 JavaScript 리터럴 내에 HTML 태그를 포함 할 수 없습니다. @ Horos의 답변에는이 문제를 해결하기 위해 찾고있는 것이 있습니다 (이것이 내가 내 자신의 답변을 게시하지 않은 이유입니다). –

답변

1

"을 구분 기호로 사용하여 문자열에 저장하고 있습니다.이 문자열은 특성 값 구분 기호에 사용 된 "과 충돌합니다.

작은 따옴표 (')를 사용하여 시도하거나 말 그대로 처리하도록 백 슬래시 (\") 각 " 탈출.

1
var s = '<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k="></script><noscript><iframe src="http://www.google.com/recaptcha/api/noscript?k=" height="300" width="500" frameborder="0"></iframe><br/><textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea><input type="hidden" name="recaptcha_response_field" value="manual_challenge"/></noscript>' 
관련 문제