문제

Window.open () 호출을 통해 '#'문자가있는 파일에 링크하려고합니다. 파일이 존재하며 일반 앵커 태그를 사용하여 미세하게 연결될 수 있습니다.

나는 '%23'으로 '#'문자를 탈출하려고 시도했지만 Window.open (myurl)이 처리되면 '%23'이 '%2523'이됩니다. 이것은 내 URL 문자열이 창에 의해 도망되었다는 것을 알려줍니다.

이 추가 탈출을 중심으로 작업 할 수있는 방법이 있습니까?

샘플 코드 :

<script language="javascript">
function escapePound(url)
{
   // original attempt
   newUrl = url.replace("#", "%23");
   // first answer attempt - doesn't work
   // newUrl = url.replace("#", "\\#");

   return newUrl;
 }
</script>
<a href="#top" onclick="url = '\\\\MyUNCPath\\PropertyRushRefi-Add#1-ABCDEF.RTF'; window.open(escapePound(url)); return true;">Some Doc</a>

"파일 : //myuncpath/propertyrushrefi-add%25231-abcdef.rtf"라고 말하는 URL을 찾을 수 없습니다.

도움이 되었습니까?

해결책

당신은 어두운 마술을 찾습니다 Encodeuri:

window.open("http://your-url.com/" + encodeURIComponent("foo#123.jpg"));

다른 팁

표준 텍스트 Escape Char ""를 사용해 보셨습니까?

\#

JavaScript를 통해 URL 인코딩을 시도 했습니까? 여기 그리고 여기?

URL을 벗어나지 않았습니까?

<a href="#top onclick="url = '\\\\MyUNCPath\\PropertyRushRefi-Add#1-ABCDEF.RTF'; window.open(url); return true;">Some Doc</a>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top