Как правильно наложить оверлей на веб-страницу в электронном приложении? - PullRequest
0 голосов
/ 03 мая 2020

Допустим, есть нормальная веб-страница https, которая работает в chrome. На этой странице есть игра с игрой. И я технически не могу изменить какие-либо источники на этой странице. То, что я хочу:

  1. Покройте всю страницу белым div. (webContents.execute JavaScript (...))

  2. Переместите игру наверх, чтобы ничего кроме этого не было видно. (webContents.insert CSS (...))

  3. Показать мое приложение vue. js между белым div и холстом.

Так что у меня проблема с 3. В лучшем случае я хочу поместить свое приложение в. Почему ифраме? Потому что во время разработки и в случае ошибок мне не пришлось бы перезагружать всю страницу с игрой, а только мой iframe с моим приложением. Пока проблема в том, что веб-страница не позволяет загружать iframe из файла file: //, и если я запускаю локальный сервер, он не позволяет добавлять http: // iframe на странице https.

Так что это варианты что я до сих пор сталкивался:

  1. Использование нескольких BrowserViews . Но я не вижу способа контролировать, какой из них находится на вершине в API. И я также не уверен, что они позволят мне нажимать друг на друга, и что покрытый не замерзнет.
  2. Использование CDP . Заставьте страницу думать, что некоторый https://game.com / TotallyValidPath является реальным путем, в то время как я буду перехватывать и заменять полезную нагрузку моим контентом. Это, однако, означает, что исходная страница сможет связываться с localalstorage, indexedDB и всем, что я хотел бы использовать.
  3. Создайте расширение и загрузите его на страницу. Хотя в данный момент (электрон 8) он не позволяет добавлять распакованные расширения.

Так есть ли какой-нибудь элегантный способ решить эту проблему, не нарушая при этом слишком много безопасности и не вмешиваясь в работу с исходными запросами страниц?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...