Является ли <iframe> единственным способом реализации внешних приложений для WebOS?
Я работаю над проектом, где мы пытаемся реализовать нечто похожее на WebOS. Несколько человек предлагают идею загрузки внешних приложений, используя <iframe>
,
Я искал и нашел: https://osjsv2.0o.no/, этот проект также использует (многие проверяют DOM в демоверсии, чтобы увидеть его).
Но, как по мне, я нашел эту идею довольно плохой, потому что, как я понимаю, безопасна только тогда, когда междоменная зона запрещена (parent.document
не будут доступны).
Если есть какой-то JavaScript API, который доступен в родительском документе, но он недоступен из-за запрещенной междоменной опции для <iframe>
- вы не сможете использовать какой-то JS API.
Не будет способом виртуализации родительского DOM (инкапсуляции) и обмена сообщениями через Web-Workers
с использованием алгоритма структурированного клона более умный и безопасный способ?
Также необходимо упомянуть о безопасности. Если междоменная связь разрешена между <iframe>
и родительский документ - возможно, что злоумышленник может загрузить JSON в <iframe>
приложение, которое сломает родительский DOM или создаст какой-нибудь шпионский материал для ввода или другого...
Итак, главный вопрос: <iframe>
безопасный и единственный способ загрузить внешние приложения в веб-ОС (например, OS.js
) в 2016 (скоро 2017) году?
Спасибо
1 ответ
Я не пользователь WebOS, но если он предоставляет доступ, fetch()
а также ServiceWorker
Сценарии позволяют вам выйти из ограничений CORS. Вы должны будете оценить сценарий в какой-то песочнице, например, jailed
где вы можете создать контекст для кода, выполняющегося внутри.