powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / Кириллица в имени страницы приводит к дублированию history через неск.сек. после загрузки
3 сообщений из 3, страница 1 из 1
Кириллица в имени страницы приводит к дублированию history через неск.сек. после загрузки
    #39047273
Кириллица
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую. Помогите побороть...

SharePoint 2013. Создаю web page, на которой компонент Script Editor, в котором кнопка c onclick="history.go(-1);". Если страница не содержит в своем имени кириллицы, то все работает четко и стабильно, если "ХотьОдинСимволКириллицы.aspx", то первые 2-3 секунды кнопка работает как надо, но после этого нулевой эффект. Оказалось, что через эти несколько секунд в history видимо добавляется адрес этой же страницы и в этом случае прекрасно работает history.go(- 2 ). Визуально никаких дерганий (перезагрузки) страницы нет.

В итоге, если есть кирилица в имени, то мне нужно первые секунды по нажатию кнопки делать history.go(-1), последующее время - history.go(-2).

Очень не хочется отказываться от русских названий (по очень разного рода причинам). Посоветуйте пожалуйста, как поправить, что проверить?
...
Рейтинг: 0 / 0
Кириллица в имени страницы приводит к дублированию history через неск.сек. после загрузки
    #39077529
Кириллица
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спустя время вернулся к вопросу. Причина проблемы и решение найдены.

Не латинские символы в адресах необходимо преобразовывать в escape-последовательности латинских символов, т.е. символы кириллицы должны приводиться к виду кодов символов, например слово "привет" приводится к "%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82".

Так вот, если в качестве ссылки указать непреобразованный адрес, например "www.domen.ru/ привет .aspx", то хоть это и некорректно, браузер его поймет и откроет страницу, но при этом сразу после загрузки трансформирует адрес в "правильный" и в итоге страница получит адрес "www.domen.ru/%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82.aspx", который будет добавлен в историю. Отсюда, соответственно, history.go(-1) НЕ будет работать, но будет работать history.go(-2).

Решение напрашивается само собой - указывать в ссылке уже трансформированный в escape-последовательность адрес.

Проверялось только на IE.
...
Рейтинг: 0 / 0
Кириллица в имени страницы приводит к дублированию history через неск.сек. после загрузки
    #39077900
Кириллица
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ан нет, проблема в SharePoint не решена... перед сохранением страницы он трансформирует все escape-последовательности в обычный текст и, таким образом, сохранить escape-последовательность в качестве ссылки не получается...

//ничего, что я тут сам с собой? :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / Кириллица в имени страницы приводит к дублированию history через неск.сек. после загрузки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]