Поддержка jQuery.data через окна

Я пытаюсь обновить веб-приложение, которое использует jQuery.data() функция для хранения информации. Обновление включает в себя рефакторинг интерфейса, так что существуют отдельные окна для разных типов информации, вместо того, чтобы использовать просто div на одной странице. Из-за того, как работают некоторые плагины, вызывающий их код был перемещен в разные окна для запуска в том окне, где они необходимы. Тем не менее, многие из обратных вызовов, используемых этими плагинами, используют .data() чтобы найти сохраненную информацию, но затем код, который устанавливает данные, хранящиеся .data() находится в родительском окне, и он, похоже, не прикрепляет данные к DOM, он хранит их где-то, прикрепленном к окну, поэтому в дочернем окне обратные вызовы больше не могут найти данные, которые они ищут.

Будет ли это работать с помощью call(parent, DOMelement.data);? И есть ли более аккуратный способ справиться с этим?

Заранее спасибо!

1 ответ

Решение

Спасибо за все предложения. Это не было использование куки, потому что информация не должна быть сохранена вне текущего сеанса. Все взаимодействие осуществляется через JavaScript, нет запросов к серверу, пока вы не сохраните в конце. Окна, которые должны сообщаться, все открыты одновременно, следовательно, call() предложение. Я в конечном итоге решить это с помощью .prop на месте .data так как синтаксис и функциональность были практически идентичны. Это напрямую связывает данные с DOM в соответствующем окне. $_SESSION работает только тогда, когда каждая страница запрашивается с сервера.

Таким образом, если вы пытаетесь хранить информацию, к которой должны обращаться несколько окон одновременно или без обновления страницы, вы можете использовать jQuery .prop() функция для прикрепления данных к DOM. .attr() может также работать, но .prop() позволяет напрямую получать доступ к значениям с помощью. нотации. .data функции предназначены для предотвращения циклических ссылок, но они хранят информацию где-то, что означает, что вы не можете получить к ней доступ без использования .data который хранит информацию отдельно для каждого контекста.

Другие вопросы по тегам