Есть ли веб-браузер, который может работать внутри Flash-плеера? - PullRequest
3 голосов
/ 09 ноября 2011

Могу ли я создать флэш-файл, который будет использоваться в качестве веб-браузера. В общем, Flash будет вести себя как Internet Explorer или Firefox, возможно, как загрузка страницы в iframe.

Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

Нет, это на самом деле невозможно¹. Flash отображается внутри Flash Player, который уже запущен внутри браузера. Поэтому, даже если бы это было возможно, вам нужно запустить браузер, чтобы запустить Flash Player, а затем запустить «веб-браузер». Кроме того, Flash не может отображать HTML, поэтому его нельзя использовать для непосредственного отображения веб-содержимого.

Единственной альтернативой будет использование Adobe AIR, среды рабочего стола для содержимого Flash, которая поставляется вместе с браузером Webkit. Эта структура браузера также используется для браузеров, таких как Chrome и Safari. Но это не принесет вам никакой пользы, если все, что должно делать ваше приложение - это имитировать браузер. Браузер Webkit, включенный в AIR, содержит только самые основные модули, и многие вещи, которые люди обычно ожидают от браузеров, будут недоступны.

¹ Как уже упоминалось в комментариях, возможно, было бы возможно реализовать полный механизм рендеринга HTML в ActionScript. Однако это потребует больших усилий, особенно если вы хотите получить почти такое же хорошее представление о том, что могут делать современные браузеры. Учитывая, что Flash запускается внутри Flash Player, технически виртуальной машины, которая сама работает встраиваемой в браузеры², производительность будет довольно плохой. Поэтому, кроме того, что это теоретически возможно, я не думаю, что будет какая-то польза от работы в этом направлении (опять же: особенно если вы просто хотите имитировать обычный браузер по тем же причинам, что и выше).

² До того, как появится еще один комментарий; Flash может быть скомпилирован в исполняемый файл, поэтому его не нужно запускать в браузере. Есть разные способы сделать это, но в целом ситуация не улучшается. Тогда вам лучше использовать AIR (в котором уже есть Webkit для рендеринга).

1 голос
/ 09 ноября 2011

Я имею в виду, что вы могли бы сделать это (вроде), но время, которое потребовалось бы для того, чтобы все заработало должным образом, было бы безумием и бесполезным.

Вы должны были бы покрыть эти вещи для начала:

  1. Создать небольшую систему, которая загружает (через PHP) содержимое искомого веб-документа. (легкая часть).
  2. Разработайте свой собственный механизм рендеринга с AS3, который читает документ (достижимо с помощью встроенного класса XML) и затем выясняет, что должно произойти с каждым узлом. Например, он может выбрать теги <img>, загрузить соответствующие изображения в нужное положение и вырезать + визуализировать любой текст.
  3. (это когда это становится бесполезным) создать систему, которая будет загружать и читать соответствующие CSS-документы и применять их к вашему контенту, который будет визуализирован - это потребует много усилий для правильной работы. .

Что касается JavaScript или аналогичного - если вы не собираетесь создавать дополнительную систему, которая каким-то образом преобразует манипулирование JavaScript HTML-кодом в AS3-манипулирование вашими Flash-объектами, вам, вероятно, придется отказаться от этого.

В основном - это достижимо (частично), но не жизнеспособно. Вы не сможете покрыть примерно 75% того, что может сделать сам браузер, и что более важно: это то, что есть браузеры для .

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