У меня есть пример использования, в котором я экспериментирую - изолировать много разных JS-библиотек для скрытых iframe. На сайте может быть много виджетов, все из одного домена, для которых может потребоваться другая версия js-библиотек. Чтобы предотвратить глобальные конфликты, я подумал, что было бы интересно разместить все необходимые библиотеки в iframe. Так что в одном iframe у меня может быть jQuery 1.7.1, но в других может быть что-то старше. Я хотел бы сделать, чтобы код, выполняющийся на каждом iframe, мог вносить изменения в главное окно. Мне удалось выполнить эту работу, настроив переменную «document» в источнике jQuery, чтобы указать на «var document = top.document».Переадресация jQuery в iframe для изменения родительского документа
Используя этот подход, я смог выполнить в iframe $ ("body") .append ('test ") и изменить его родительский документ.
Может ли кто-нибудь предложить лучший подход к выполнению чего-то подобного? или лучший подход к песочнице?
Да, это то, о чем я думал. Я бы предпочел не изменять jQuery, но мне нужно навязчивое решение. Похоже, что jQuery получает документ из window.document, поэтому обертывание другой самообучающейся оболочки, которая устанавливает документ, не будет работать. – zoidberg