2009-06-02 2 views
2

В настоящее время у меня есть элемент управления ActiveX, который ссылается на многие dll c/C++. Проблема в том, что теперь нам нужен этот элемент управления для работы в браузерах, отличных от IE (самое главное Firefox).Портирование элемента управления ActiveX для работы в нескольких браузерах

Как я понимаю у меня есть следующие варианты:

  • Написать контроль как плагин FireFox. Это похоже на то, что это будет самым быстрым, но затем плотно соединит нас с Mozilla.
  • Полное переписывание в Silverlight или flex. Из-за размера нашего контроля, вероятно, потребуется слишком много времени.
  • Создайте смешанное клиентское и серверное решение, используя JavaScript для пользовательского интерфейса, подобно Google Docs.

Просто интересно, попытался ли кто-либо попытаться решить проблему портирования элементов управления ActiveX? И, если таковые имеются, какие советы они могли бы предложить?

Заранее спасибо

ответ

6

Сделать это Netscape Plugin (см http://www.mozilla.org/projects/plugins/), и он будет работать со всеми основными браузерами Windows, кроме IE (и браузеров на других платформах, а также, если вы портировать код для этих платформ) ,

+0

Несомненно, это то, что я подразумевал под плагином firefox, но это не только ограничит меня запуском firefox? Спасибо, я думал, что это будет единственное решение – gonzohunter

+0

Нет, архитектура Netscape Plugin поддерживается всеми основными браузерами, за исключением IE; для этого вы можете использовать https://developer.mozilla.org/en/ActiveX_Control_for_Hosting_Netscape_Plug-ins_in_IE или просто продолжать использовать свой текущий интерфейс ActiveX. – RichieHindle

+1

Просто FYI, есть много тонких различий в реализации NPAPI в браузерах, поэтому вам нужно будет сделать много тестов и отладки. –

3

Использование FireBreath: http://www.firebreath.org

Его предназначен для решения именно вашей проблемы; вы реализуете все сразу под абстракцией огненного духа. если есть какие-либо функции, которые вам нужны, которые не поддерживаются или вы не знаете, как работать с FireBreath, список разработчиков действительно хорош в быстром ответе на запросы. И, поскольку он является открытым исходным кодом (но лицензирован так, что вам не нужно открывать исходный код), вы тоже можете внести изменения.

Все, что написано с использованием firebreath, будет работать на IE, Firefox, Chrome, Safari и, возможно, на Opera (Opera не на 100% правильно реализует NPAPI, с небольшой работой вы можете сделать все это совместимым).

Смежные вопросы