Sign in Join
Wiki copytemporary

Webbrowser/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11# Запуск веб-браузера для просмотра страницы/адреса
22
33## OpenURL
44
55OpenURL — это простейший способ открыть URL. Эта процедура определит, какой программой адрес должен быть открыт по умолчанию, и откроет в ней указанный URL. Она может использоваться для адресов вида 'mailto:aname@AnAddress?subject=:::A subject line', веб-адресов вида 'http://' и адресов файлов в виде 'file:///'.
66
77``` pascal
88uses LCLIntf;
99...
1010OpenURL('http://www.lazarus.freepascal.org');
1111```
1212
1313## Определение браузера, используемого по умолчанию
1414
1515Для каждой платформы существует свой механизм, позволяющий определять программы, используемые по умолчанию. Модуль LCL *lazhelphtml* содержит класс THTMLBrowserHelpViewer, позволяющий запускать веб-браузер для просмотра справки LCL. Можно использовать его (класса THTMLBrowserHelpViewer) метод FindDefaultBrowser, чтобы определить браузер, используемый по умолчанию, и запустить его. Далее пример:
1616
1717``` pascal
1818uses
1919 Classes, ..., LCLProc, LazHelpHTML;
2020
2121...
2222
2323implementation
2424
2525procedure TMainForm.Button1Click(Sender: TObject);
2626var
2727 v: THTMLBrowserHelpViewer;
2828 BrowserPath, BrowserParams: string;
2929begin
3030 v:=THTMLBrowserHelpViewer.Create(nil);
3131 v.FindDefaultBrowser(BrowserPath,BrowserParams);
3232 debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
3333 v.Free;
3434end;
3535```
3636
3737В Убунту (Linux) вы можете получить, как пример:
3838
39-`Browser=/usr/bin/xdg-open Params=%s`
39+```text
40+Browser=/usr/bin/xdg-open Params=%s
41+```
4042
4143В Windows:
4244
43-`Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s`
45+```text
46+Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s
47+```
4448
4549## Запуск браузера
4650
4751Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустить браузер:
4852
4953``` pascal
5054uses
5155 Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
5256
5357...
5458
5559implementation
5660
5761procedure TMainForm.Button1Click(Sender: TObject);
5862var
5963 v: THTMLBrowserHelpViewer;
6064 BrowserPath, BrowserParams: string;
6165 p: LongInt;
6266 URL: String;
6367 BrowserProcess: TProcessUTF8;
6468begin
6569 v:=THTMLBrowserHelpViewer.Create(nil);
6670 try
6771 v.FindDefaultBrowser(BrowserPath,BrowserParams);
6872 debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
6973
7074 URL:='http://www.lazarus.freepascal.org';
7175 p:=System.Pos('%s', BrowserParams);
7276 System.Delete(BrowserParams,p,2);
7377 System.Insert(URL,BrowserParams,p);
7478
7579 // запуск браузера
7680 BrowserProcess:=TProcessUTF8.Create(nil);
7781 try
7882 BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
7983 BrowserProcess.Execute;
8084 finally
8185 BrowserProcess.Free;
8286 end;
8387 finally
8488 v.Free;
8589 end;
8690end;
8791```
8892
8993# Использование компонента turbopower internet pro
9094
9195Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности:
9296
9397- Содержит компоненты, которые можно поместить на форму. Когда вы установите пакет в IDE, появятся несколько новых компонентов на палитре (панели компонентов), которые можно бросить на форму, также, как и другие компоненты LCL.
9498- Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций.
9599- Вы получите полный контроль над тем, какие файлы/адреса будут открываться.
96100- Все-таки у него меньше возможностей, чем у полноценного веб-браузера. Не умеет проигрывать мультимедийные данные, использовать ява-скрипт или flash. Эти функции должны быть добавлены вами.
97101
98102Можно найти несколько примеров в lazarus/components/turbopower_ipro/examples, демонстрирующих как открывать локальный html-файл с изображениями, гиперссылками и кнопками истории посещений.
99103
100104# QT Webkit
101105
102106Если вы используете набор визуальных компонентов Qt, то вы сможете использовать Qt Webkit для того, чтобы вставить браузер в LCL-форму. Lazarus LCL/Qt WebKit доступен по адресу [1](http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html).
103107
104108# THtmlPort
105109
106110THtmlPort - это версия HTML-компонентов, разработанных Дэйвом Болдуином, для Lazarus/Free Pascal, включает THtmlViewer, TFrameViewer и TFrameBrowser. [THtmlPort вики](http://wiki.lazarus.freepascal.org/THtmlPort)
107111
108112# GeckoPort
109113
110114GeckoPort - это адаптированная для Lazarus/Free Pascal версия Gecko SDK, разработанного Таканори Ито для Delphi, включая компонент TGeckoBrowser.
111115
112116[GeckoPort вики](http://wiki.lazarus.freepascal.org/GeckoPort)
113117
114118## [[LazActiveX]]
115119
116120Импортированная библиотека объектов Internet Explorer.
117121
118122## LazWebKit
119123
120124Webkit для GTK2 [lazwebkit](http://sourceforge.net/p/lazwebkit/wiki/Home/)
121125
122126# See also
123127
124128- [[Executing External Programs]]
125129
126130---
127131*From the Free Pascal wiki, page "Webbrowser/ru", as it stood on 2020-03-04 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history