문제

If you set the innerHTML of a <div> to innerHTML = '<a href="Something/C%23">C#</a><br />';

무엇을 보인다 실제로'렌더링'이다:

<div>
<a href="Something/C#">C#</a><br />
</div> 

무엇을 적절한 방법을 탈출이 링크 시"뭔가/C%23"?

업데이트:
나는 이상한 작은 일에 여기에.를 사용할 경우 기능을 구축하는 링크가 있습니다.추가%25 탈출이 필요하지 않습니다.니다.
ex.

function buildLink(tg, nm) {
  return '<a href="Something/' + tg + '">' + nm + '</a><br />';
}
도움이 되었습니까?

해결책

이 시도:

<a href="Something/C%2523">C#</a><br />

"확장"%" 에게 "%25"그리고 당신은 당신이 원하는 것을 얻습니다. 그런 다음"%25"캐릭터와 그 이후로 다시 변환됩니다. 23 재 해석되지 않습니다.

다른 팁

많은 브라우저가 링크를 렌더링 할 것입니다.Something/C%23" 처럼 "Something/C#""친절한 "URL로. div Firebug 또는 유사한 도구를 사용하여 실제로 잘못 설정되어 있는지 확인합니다.

그렇다면 백분율 부호를 피해야합니다. %25:

innerHTML = '<a href="Something/C%2523">C#</a><br />';

퍼센트 자체를 피하면 있어야합니다.

innerHTML = '<a href="Something/C%2523">C#</a><br />';

무엇을 보인다 실제로'렌더링'이다:

<a href="Something/C#">C#</a><br />

Nope.를 가리키는 경우 이 링크를 Firefox 말할 것이다 당신은 상태 표시줄에 있는 링크가"C#"지만,그것은 거짓말을하고있다.실제로 링크를 클릭하고 당신은 끝에"C%23"(나타나는 것이 바로 주소창에서).

무엇을 적절한 방법을 탈출이 링크 시"뭔가/C%23"?

당신이 그것은 바로 첫 번째 시간입니다."뭔가/C%2523"인코딩이 너무 많.

나는 이상한 작은 일에 여기에.를 사용할 경우 기능을 구축하는 링크가 있습니다.추가%25 탈출이 필요하지 않습니다.

에있는 기능 또는지에 영향을 미치지 않습니다.What 에 영향을 주는것,그리고 혼동될 수 있습니다,여기에 당신은 당신을 사용하는 주소 표시줄에 자바스크립트:Url 을 테스 메커니즘이 있습니다.자바스크립트:Url 은 여전히 어떤 Url 을%-encoding 에서 그들이 취소할을 한 단계하기 전에 JS 통역을 얻을 살펴 코드입니다.사용한 경우 JS literal string 탈출하지 않았을 만나 이 문제는:

javascript:alert(document.body.innerHTML='<a href="Something/C\x2523">C#</a>')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top