Позвольте мне начать с представления возможного решения, с которым я только что экспериментировал. Я хотел бы поощрять обратную связь и лучшие решения, однако ...
Не очень аккуратно, но я могу добавить параметры запроса в стиле GET к исходному URL всплывающего окна:
var popup = window.open("popup.html?" + identifier, somename, "");
Теперь в моей конкретной ситуации всплывающее окно представляет собой вид модели, идентифицируемой уникальным идентификатором, поэтому всплывающее окно может запрашивать у родительского окна данные, связанные с этим идентификатором:
var model = window.opener.getModel(document.location.href.split("?")[1]);
do_something_with_model(model);
Эта стратегия работает не во всех случаях, особенно когда данные нелегко маршалировать в реализацию getModel()
. Однако, в моем случае, я думаю, что этот подход может работать.
Буду признателен за отзыв об этой стратегии. Спасибо!