2013-10-30 4 views
1

나는 고전적인 asp include가 될 변수 문자열을 설정하려고 시도하고 있으며 문자열 URL에 백 슬래시를 포함해야하지만 추가 "\"로 이스케이프 처리가 작동하지 않습니다. . 이 선;자바 스크립트에서 두 백 슬래시를 이스케이프 처리하는 백 슬래시

function addWidget(el){ 
    var widgetAdd = "<!--#include virtual='backoffice\\home\\widgets\\" + el + ".asp-->"; 
} 

문자열을 반환합니다.

"<!--#include virtual='backoffice\\home\\widgets\\example.asp-->" 

문자열에 올바른 단일 URL이 포함되도록하고 이중으로 단일 백 슬래시를 포함하고 싶습니다. 이스케이프 백 슬래시를 제거하면 문자열이됩니다.

"<!--#include virtual='backofficehomewidgetsexample.asp-->" 

당신에게 감사

+1

귀하의 코드가 jsFiddle에서 작동 반환 // jsfiddle. net/Lygus/IE10에서 단일 슬래시로 문자열 – Robb

+0

man을 반환합니다. 모든 브라우저 모드 및 표준 모드 디버거에서 반환 된 이중 백 슬래시가 발생하고 올바르게 작동하지 않습니다. 어떤 아이디어가 그 원인일까요? –

+1

따옴표 (''')가 있습니다. 그게 완료되어야하는지 궁금해. 그 외에는 확실하지 않습니다. – Robb

답변

2

내가 정확하게 당신이 ... 당신이 이중 백 슬래시를 원하거나하지 원하는 것을 표시되지 않는 이유는 무엇입니까? 예이

function addWidget(el){ 
    return "<!--#include virtual='backoffice\\\\home\\\widgets\\\\" + el + ".asp-->"; 
} 

반환 "<!--#include virtual='backoffice\\home\\widgets\\" + el + ".asp-->" 을 할 경우는 backslashe 탈출해야합니다. 각각의 = 2 이상 하나 = \\\\

당신이 하나의 백 슬래시를 갖고 싶어,

function addWidget(el){ 
    return "<!--#include virtual='backoffice\\home\\widgets\\" + el + ".asp-->"; 
} 

작동합니다 : HTTP : 그것은 "<!--#include virtual='backoffice\home\widgets\" + el + ".asp-->";

+0

메신저는 단일 슬래시를 찾고 있지만 IE10에서는 작동하지 않으며 chrome과 firefox에서 제대로 작동합니다. 물론 오래된 IE입니다. –

+0

당신은 여전히'\ u005C'에게 기회를 줄 수 있습니다. – mortaga

관련 문제