내 코드에 < " 등으로 대체되는 HTML 기호를 방지하는 방법은 내가 아약스를 통해이 스크립트를로드하고 나는 그것을 실행하려는자바 스크립트.
var button = document.createElement('a');
button.innerHTML = '<div class="some_class"><div>Download</div><div class="quality">'+ element[1] +' ('+ element[2] + 'ГБ)</div></div>';
입니다. 그러나 브라우저로드합니다 같은 :
물론 구문 오류가 발생button.innerHTML = '<divclass="some_class"><div>Download</div><div class="quality">'+ element[1] +' ('+ element[2] + 'ГБ)</div></div>'
.
문제를 해결하는 방법은 무엇입니까?
편집 : 직접 페이지로 이동하면 http://myserver.com/script.js - 제대로 작동합니다. 하지만 아약스를 다음과 같이로드하는 경우 :
$.ajax({url: "http://myserver.com/script.js?url=" +
location.href, dataType: "script"});
HTMLEncoded를 가져옵니다.
이 문제는 해결되지 않지만 왜'div'를'a' 요소 안에 넣을까요? 매우 드물다. 그리고 왜 당신은'a' 요소를'button '이라고 부릅니까? 코드가 읽기 쉽고 직설적이어야한다고 생각하지 않습니까? – ElmoVanKielmo
@Mikhail 여러분의 가치가 HTMLEncoded을 얻는 곳이 어디인지는 확실치 않습니다. 정말 "문제"의 경로입니다. (아마 보안상의 이유로 그것을하고있다). 하지만 당신이 게시 한 코드는 실제 문제를 보여주지 않기 때문에 액면 그대로 받아 들여질 것입니다 ... http://jsfiddle.net/6kYP9/ –
@StephenJames 몇 가지 설명을 추가했습니다. 좀 봐 주시겠습니까? –