Search
Write a publication
Pull to refresh

Comments 12

Это не только Chromium ограничение, но всех современных бразуеров тк это ограничение безопасности которое очень логично. В cross-window/cross-origin взаимодействии через window.postMessage ничего нового нет. Касательно использование postMessage(sO, "*") возможно стоит подумать об ограничении получателя, то есть вместо "*" указывать что-то конкретное из доверенного списка.
Вы почти правы, но вот этот код
function linkclick(frame, link) {
      top.bottomFrame.src = 'layout/bottom.html';
}
работает в современном FireFox-е.
Одни люди придумывают, как реализовать безопасную песочницу, а другие придумывают, как преодалеть ограничения этой безопасной песочницы.

Звонили из 2000го, передавали привет и просили больше не использовать айфреймы для обновления части страницы без перезагрузки.

Вроде бы речь идет о документе не на сервере, а на локальном диске. XMLHTTP запросы тут не работают…

Можно загружать данные через скрипты, как require.js или jsonp делают, например. Такой подход с локальными файлами работает.

В реальной доке таким образом меняются и центральный iframe и нижний, и оба из них, могут быть «не слабого» размера со своими стилями скриптами и т.д. и т.п. Спросите у звонящего, а как по другому, в доке на локальном диске подгружать контент?

Require.js, Webpack — решений много.


У вас, как я вижу, используется ExtJS. Там тоже есть решения для ленивой загрузки.

Может стоит попробовать реализовать все это в виде десктопного приложения на каком-нибудь Electron (https://electron.atom.io/) например? Надо уходить от iframe, он разве что для встраиваемых виджетов подходит, которые как раз не должны взаимодействовать с остальной страницей.

Так то это ограничение вполне логично. И вы его не «обходите», а скорее реализуете нормальную модель взаимодействия: все работает только тогда, когда обе части знают о существовании друг друга, а не просто «я хочу поменять вот здесь ссылку».

UPD: Если у вас это все генерится уже каким-то приложением, может проще будет поднять внутри него мини веб-сервер и с него все гонять? Ну как будто это сайт. Там уже можно полноценное веб-приложение сделать, а не извращаться.
На счёт electron.atom.io вы это хорошо подметили, но у нас весь «двигатель» работает на паре виндовых DLL, одна из них привязана к дельфовым классам, так просто от этого не уйти.
поднять внутри него мини веб-сервер и с него все гонять
отличная мысль.
а не извращаться
я не считаю, использование postMessage — извращением
postMessage — не извращение :) iframe — извращение :)

Да, dll к электрону наверное не получится привязать.
Да, dll к электрону наверное не получится привязать.

можно, например через node-ffi
Sign up to leave a comment.

Articles