Впервые на нашем сайте есть ссылка, которая имеет несколько уровней кодирования, которые должны быть там, чтобы пройти через портал аутентификации компании.Когда пользователь копирует цель из функции window.open и вставляет ее в текстовом редакторе, то же самое для цели, которая отображается в новом окне - при сравнении этих двух та, которая отображается в окне, была удалена изодин уровень кодирования.
Мы определили, что это происходит на клиентском sdie, но никто не знает, почему или что нужно сделать, чтобы обойти это.Это общая проблема?Что нам не хватает?
Пример: у нас есть функция javascript:
function OpenStandardWindow(url, h, w)
{
var t = (screen.height / 2) - (h / 2) - 75;
var l = (screen.width / 2) - (w / 2);
window.open(url,"_blank","height=" + h + ",width=" + w + ",top=" + t + ",left=" + l + ",resizable=yes,scrollbars=yes,status=yes,toolbar=yes,location=yes,menubar=yes");
}
, которая отлично работает с URL-адресами без экранированной кодировки.
, но когда URL-адрес такой http://www.site.com/dispatcher?realm=example&BaseURL=%25253dhttps%2525253a%2525252f%2525252fexample.domain.com..etc.
то, что появляется в окне: http://www.site.com/dispatcher?realm=example&BaseURL=%253dhttps%25253a%25252f%25252fexample.domain.com
Обратите внимание, что новый URL потерял слой escape-кодировки (то есть '25').
Почемуэто происходит?