Имам локално уеб приложение, което позволява на потребителите да прикачват и преглеждат файлове. Прегледът на файлове е просто window.open(fileName), но когато името на файла има знак # в него, файлът няма да успее да се отвори с dns грешка. Опитах да екранирам символа # с %23
и \#
, но все още не успява да се отвори... има ли нещо специално, което трябва да направя, за да екранирам символа # в URL адрес на window.open?
Копирах пътя на файла от изходния файл директно в уеб браузър и той се отваря добре, така че предположих, че е проблем с командата window.open.
РЕДАКТИРАНЕ: window.open код, както е поискано. URL адресът винаги е нещо локално в нашата мрежа като \\path\fileName.pdf
window.open('file:' + url, '', 'top=10,left=10,height=' + (screen.height - 50) + ',width=' + (screen.width - 50) + ',titlebar=no,resizable=yes,scrollbars=1');
РЕДАКТИРАНЕ #2: Опитах се да избягам от # точно преди низа window.open с %23 и го показах с подкана точно преди window.open и мога да копирам/поставя низа в IE и той се отваря добре, независимо от прозореца. отворен код все още се проваля.
URL път: file:\\NetworkPath\Doc #1.pdf
Стойността window.open ми дава: res://ieframe.dll/dnserror.htm#file://NetworkPath/Doc
Приложението се хоства във вграден уеб браузър в нашето софтуерно приложение, което използва IE (мисля 6)
%23
трябва да работи, но в зависимост от ситуацията може да се наложи да го кодирате два пъти, можете ли да поставите кодаwindow.open()
, който опитвате? - person Nick Craver   schedule 13.08.2010