Автор Тема: Internet Explorer  (Прочитано 6814 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Internet Explorer
« : 24 Август 2006, 20:07:09 »
ИЕ представляет собой COM объект, т. е. я могу встроить его в свое приложение.
Есть ли в мире *nix браузеры, которые предоставляют такую возможность. Что бы можно было использовать в своем приложении и управлять им программно.
Заранее спасибо за ответы:)

Din

  • Гость
Re: Internet Explorer
« Ответ #1 : 24 Август 2006, 22:33:04 »
Вы можете воспользоваться движком KHtml, на него опираются приложения среды kde. Например akregator, kmail, konqueror. Встроить его в свое приложение достаточно просто:
http://developer.kde.org/documentation/library/kdeqt/kde3arch/khtml/

Всегда бы спрашивали подобным образом. ;)

Оффлайн user_anonymous

  • Старейшина
  • Общительный человек
  • *****
  • Сообщений: 1 136
  • Карма: 50
  • профессиональный параноик
Re: Internet Explorer
« Ответ #2 : 25 Август 2006, 10:11:39 »
ИЕ представляет собой COM объект, т. е. я могу встроить его в свое приложение.
Есть ли в мире *nix браузеры, которые предоставляют такую возможность. Что бы можно было использовать в своем приложении и управлять им программно.
Заранее спасибо за ответы:)

Вообще это несколько противоречит идеологии UNIX. В никсах обычно используют не встраивание, а взаимодействие. Каждый, кто хоть раз пытался что-то написать, согласится, что написать и сделать безглючной маленькую программу, которая хорошо делает что-то одно, гораздо проще, чем большую программу, которая делает много всего. После написания такая программа в принципе является тем же, что и объект в ООП - есть набор интерфейсов и есть скрытый от пользователя механизм их работы. COM вобщем-то пытается делать то же самое, только другим путем. В чем-то у такого подхода есть свои преимущества, а в чем-то - свои недостатки.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #3 : 25 Август 2006, 15:35:17 »
Понятно, только это наверное компилироваться будет очень долго....
А что нибудь подобное можно сделать?
http://blogs.gotdotnet.ru/personal/%D0%95%D0%B2%D0%B3%D0%B5%D0%BD%D0%B8%D0%B9%D0%92%D0%B5%D0%BF%D1%80%D0%B8%D0%BA%D0%BE%D0%B2/CommentView.aspx?guid=a1128d71-6ffb-42eb-b86f-659de79c8b5d

Оффлайн user_anonymous

  • Старейшина
  • Общительный человек
  • *****
  • Сообщений: 1 136
  • Карма: 50
  • профессиональный параноик
Re: Internet Explorer
« Ответ #4 : 25 Август 2006, 16:33:19 »
Понятно, только это наверное компилироваться будет очень долго....
А что нибудь подобное можно сделать?
http://blogs.gotdotnet.ru/personal/%D0%95%D0%B2%D0%B3%D0%B5%D0%BD%D0%B8%D0%B9%D0%92%D0%B5%D0%BF%D1%80%D0%B8%D0%BA%D0%BE%D0%B2/CommentView.aspx?guid=a1128d71-6ffb-42eb-b86f-659de79c8b5d

Честно говоря не совсем разобрался, что же получается в итоге.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #5 : 25 Август 2006, 16:36:40 »
Честно говоря не совсем разобрался, что же получается в итоге.
Я могу интерфейс своей программы сделать полностью в IE. Есть например событие Click у кнопки, я могу его обработать в своем коде на C#.

Оффлайн user_anonymous

  • Старейшина
  • Общительный человек
  • *****
  • Сообщений: 1 136
  • Карма: 50
  • профессиональный параноик
Re: Internet Explorer
« Ответ #6 : 25 Август 2006, 16:39:42 »
Честно говоря не совсем разобрался, что же получается в итоге.
Я могу интерфейс своей программы сделать полностью в IE. Есть например событие Click у кнопки, я могу его обработать в своем коде на C#.

Хорошо. А теперь подумайте, зачем вам это? Внести в свою программу баги ИЕ? Разве клик не проще обработать просто так?

Оффлайн mef

  • Старейшина
  • Ветеран
  • *****
  • Сообщений: 796
  • Карма: -65487
Re: Internet Explorer
« Ответ #7 : 25 Август 2006, 16:43:16 »
а если я не использую IE ? или использую IE ранних версий? это же не будет работать?

Din

  • Гость
Re: Internet Explorer
« Ответ #8 : 25 Август 2006, 16:58:49 »
Тут разницы-то в результате не будет, просто потому что доступа к самому движку (тридент в ослике что ли?) нет, насколько я понимаю, непосредственно библиотечными функциями мы воспользоваться не можем, т.е приходиться искать какие-то обходные пути (COM).
Вот еще один пример:
http://developer.kde.org/documentation/library/3.4-api/kdeui/html/classKTextBrowser.html
взглянув на эвенты, сразу понимаем что и мышку и клаву мы можем контролировать, несмотря на то что этот класс предоставляет много меньше возможностей чем khtml.

Оффлайн mef

  • Старейшина
  • Ветеран
  • *****
  • Сообщений: 796
  • Карма: -65487
Re: Internet Explorer
« Ответ #9 : 25 Август 2006, 17:00:04 »
ясно

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #10 : 25 Август 2006, 17:01:54 »
Хорошо. А теперь подумайте, зачем вам это? Внести в свою программу баги ИЕ? Разве клик не проще обработать просто так?
Нарисовать что то на HTML много проще и быстрее, нежели делать делать компонент для формы.
А по другому, клик получиться обработать только на Jscript, но у последнего ну очень много недостатков.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #11 : 25 Август 2006, 17:02:38 »
а если я не использую IE ? или использую IE ранних версий? это же не будет работать?
До 5 точно будет работать, а более ранних думаю ни у кого не осталось...

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #12 : 25 Август 2006, 17:09:37 »
Тут разницы-то в результате не будет, просто потому что доступа к самому движку (тридент в ослике что ли?) нет, насколько я понимаю, непосредственно библиотечными функциями мы воспользоваться не можем, т.е приходиться искать какие-то обходные пути (COM).
Посредством COM в IE мы можем достучаться до чего угодно.
Вот еще один пример:
http://developer.kde.org/documentation/library/3.4-api/kdeui/html/classKTextBrowser.html
взглянув на эвенты, сразу понимаем что и мышку и клаву мы можем контролировать, несмотря на то что этот класс предоставляет много меньше возможностей чем khtml.
Что то как то ущербно это все смотрится, в спецификации HTML у каждого элемента куча событий и не только мышиных и клавиатурных.

Оффлайн user_anonymous

  • Старейшина
  • Общительный человек
  • *****
  • Сообщений: 1 136
  • Карма: 50
  • профессиональный параноик
Re: Internet Explorer
« Ответ #13 : 25 Август 2006, 17:26:31 »
Хорошо. А теперь подумайте, зачем вам это? Внести в свою программу баги ИЕ? Разве клик не проще обработать просто так?
Нарисовать что то на HTML много проще и быстрее, нежели делать делать компонент для формы.
А по другому, клик получиться обработать только на Jscript, но у последнего ну очень много недостатков.

1. Если мне не изменяет память, то многие компоненты GUI поддерживают html изначально.
2. Надо делать не "проще и быстрее", а чтобы было надежно, безглючно и жрало мало ресурсов. Таково мое скромное мнение.

Din

  • Гость
Re: Internet Explorer
« Ответ #14 : 25 Август 2006, 17:29:04 »
Цитировать
Посредством COM в IE мы можем достучаться до чего угодно.
Это тоже самое что сделать самому (воспользоваться библиотекой) или попросить сделать друга (заюзать COM), но затраты энергии и в том и в другом случае мне представляются одинаковыми. COM есть потому, что не всегда возможно воспользоваться библиотекой напрямую, потому и городим интерфейсы. В принципе для управления сторонним приложением в динамике он не плох, для этого в Unix есть dbus например. Но для встраивания в свое приложение, имхо, все-таки удобнее вызывать функции из библиотеки.

Цитировать
Что то как то  как то ущербно это все смотрится, в спецификации HTML у каждого элемента куча событий и не только мышиных и клавиатурных.
Да он простенький совсем, khtml позволяет получить всю функциональность браузера.

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #15 : 25 Август 2006, 17:29:55 »

1. Если мне не изменяет память, то многие компоненты GUI поддерживают html изначально.
Не понял... Какие именно компоненты и как?
2. Надо делать не "проще и быстрее", а чтобы было надежно, безглючно и жрало мало ресурсов. Таково мое скромное мнение.
Всегда лучше использовать готовый отлаженный код, чем писать что то свое.

Оффлайн user_anonymous

  • Старейшина
  • Общительный человек
  • *****
  • Сообщений: 1 136
  • Карма: 50
  • профессиональный параноик
Re: Internet Explorer
« Ответ #16 : 25 Август 2006, 17:41:27 »

1. Если мне не изменяет память, то многие компоненты GUI поддерживают html изначально.
Не понял... Какие именно компоненты и как?
2. Надо делать не "проще и быстрее", а чтобы было надежно, безглючно и жрало мало ресурсов. Таково мое скромное мнение.
Всегда лучше использовать готовый отлаженный код, чем писать что то свое.
Не всегда. Хотя во многих случаях это утверждение истинно. Готовый отлаженный код зачастую на проверку оказывается не таким уж готовым и отлаженным. В случае с ИЕ я бы, например, поостерегся.
Вообще, если вам нужен HTML - интерфейс - почему бы не использовать CGI?

Оффлайн binary

  • 1101
  • Постоялец
  • ***
  • Сообщений: 150
  • Карма: 8
  • Пол: Мужской
  • OpenSuse 11.4
Re: Internet Explorer
« Ответ #17 : 01 Сентябрь 2006, 18:42:02 »
Мне как-то доводилось использовать TWebBrowser в Delphi.
Да, там действительно есть аж 24 эвента.
Но хороших впечатлений мало... =(
Меня до сих пор повергает в уныние воспоминание о том, как по правому щелчку на нём из моей программы на меня вылезло контекстное меню IE, со всеми надстройками и пр. Оно мне надо? Особенно "Экспорт в Microsoft Exel" в маленьком приложеньице... Кроме того, содержимое отображалось в соответствии с настройками IE. То есть если у юзера отключены изображения в Ослике, то и в моей проге он ничего не увидит. =( Всё это, конечно не смертельно, можно приклеить своё меню вместо стандартного и т.д. и т.п. Но мне не очень нравится когда моя прога умеет то, что мне не требуется. Если мне нужно действительно мощное средство, то я заюзал бы html-движок типа Gecko. А отображать форматирование html (если не ошибаюсь) можно в стандартном
Memo из Qt.
PS: Сомневающийся, ты бы еще вспомнил про ActiveX Windows MediaPlayer. Его тоже можно вставлять в проект и в нём будет проигрываться музыка, отображаться визуальные стили и прочее, даже ни одной строки кода писать не надо!
Но это же бревно! Я не могу сделать _свой_ медиапроигрыватель, используя его! =) А если проигрывание видео и музыки - не главная задача проги, то мне такой монстр и не нужен.
PSS: Извините, если чего не совсем в тему сказал.

Оффлайн MrStraker

  • Старейшина
  • Старожил
  • *****
  • Сообщений: 432
  • Карма: 21
  • Пол: Мужской
  • FreeBSD, Solaris 10 x86, Debian
Re: Internet Explorer
« Ответ #18 : 01 Сентябрь 2006, 18:53:50 »
кстати вот недавно появилась уязвимость без решения для Ослика
http://www.securitylab.ru/vulnerability/273060.php

Оффлайн Сомневающийся_В_Unix

  • Ветеран
  • *****
  • Сообщений: 658
  • Карма: -17
  • Пол: Мужской
  • Basic
    • ГотДотНет
Re: Internet Explorer
« Ответ #19 : 01 Сентябрь 2006, 19:07:51 »
есть установки по умолчанию, есть возможность поменять это в своей программе.
Событий там не 24 а много больше:)

P. S.
P.P.S. = пост пост скриптум, а PSS? :):):)

 

В быстром ответе можно использовать BB-теги и смайлы.

Предупреждение: в данной теме не было сообщений более 120 дней.
Если не уверены, что хотите ответить, то лучше создайте новую тему.

Имя: E-mail:
Визуальная проверка:
Какова 'длинная' версия аргумента '-n' утилиты ls в GNU fileutils 4.0 согласно man-странице?: