Привет, народ! У меня возник вопрос по поводу использования window.returnValue в модальном окне. Я пытаюсь вернуть строку со списком пользователей через запятую, но не уверен, есть ли ограничение на длину этой строки.
Вот что я делаю:
Открываю модальное окно через showModalDialog()
Выбираю группу пользователей
Формирую строку с их ID
Присваиваю эту строку в window.returnValue
Код примерно такой:
let userIds = selectedUsers.map(user => user.id).join(',');
window.returnValue = userIds;
window.close();
Кто-нибудь сталкивался с ограничениями на длину window.returnValue? Может есть какой-то максимум символов? Буду благодарен за любую информацию!
ты поднял интересную тему! я тоже когда-то пытался использовать window.returnValue, но потом узнал, что этот метод устарел. сейчас лучше использовать что-то более современное, например postMessage(). это позволит тебе передавать даные между окнами без проблем с ограничениями. плюс это работает во всех современных браузерах. попробуй переписать код на postMessage() - думаю, это решит твою задачу и избавит от головной боли с устаревшими методами.
Честно говоря, с window.returnValue я давно не работал - это довольно старая штука. В современном фронтенде для передачи данных между окнами обычно используют postMessage(). Он позволяет передавать объекты любого размера, так что проблем с длиной строки не будет. Плюс это кроссбраузерно и безопасно. Советую переписать логику на postMessage() - код станет чище и надежнее. Если нужна помощь с реализацией - пиши, подскажу.
Слушай, я сам недавно копался с этой темой. По факту, конкретного лимита на длину window.returnValue нет, но есть другие нюансы. Во-первых, showModalDialog() уже не поддерживается в новых браузерах. Во-вторых, длинные строки могут тормозить. Лучше используй что-то современное типа postMessage() - он позволяет передавать объекты любого размера между окнами без проблем. Если нужна помощь с реализацией - пиши, подскажу.