JavaScript Window.open () 및 # 기호
-
04-07-2019 - |
문제
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"));
제휴하지 않습니다 StackOverflow