Difference between revisions of "Webbrowser/ru"

From Lazarus wiki
Jump to navigationJump to search
(OpenURL)
Line 5: Line 5:
 
==OpenURL==
 
==OpenURL==
  
OpenURL это простейший способ открыть URLs. Эта процедура определит, какой браузер в системе должен использоваться по умолчанию и откроет в нём переданный ей URL. Она может использоваться для адресов вида <nowiki>'mailto:aname@AnAddress?subject=:::A subject line'</nowiki>, веб-адресов вида <nowiki>'http://'</nowiki> и адресов файлов в виде <nowiki>'file:///'</nowiki>.
+
OpenURL это простейший способ открыть URL. Эта процедура определит, какой программой адрес должен быть открыт по умолчанию, и откроет в ней указанный URL. Она может использоваться для адресов вида <nowiki>'mailto:aname@AnAddress?subject=:::A subject line'</nowiki>, веб-адресов вида <nowiki>'http://'</nowiki> и адресов файлов в виде <nowiki>'file:///'</nowiki>.
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 44: Line 44:
 
==Запуск браузера==
 
==Запуск браузера==
  
Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустиь браузер:
+
Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустить браузер:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 89: Line 89:
  
 
Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности:
 
Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности:
* Содержит компонеты, которые можно поместить на форму. Когда вы установите пакет в IDE, появятся несколько новых компонентов на палитре (панели компонентов), которые можно бросить на форму, также, как и другие компоненты LCL.
+
* Содержит компоненты, которые можно поместить на форму. Когда вы установите пакет в IDE, появятся несколько новых компонентов на палитре (панели компонентов), которые можно бросить на форму, также, как и другие компоненты LCL.
 
* Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций.
 
* Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций.
 
* Вы получите полный контроль над тем, какие файлы/адреса будут открываться.
 
* Вы получите полный контроль над тем, какие файлы/адреса будут открываться.
Line 98: Line 98:
 
=QT Webkit=
 
=QT Webkit=
  
Если вы исползуете набор визуальных компонентов Qt, то вы сможете использовать Qt Webkit для того, чтобы вставить браузер в LCL-форму.
+
Если вы используете набор визуальных компонентов Qt, то вы сможете использовать Qt Webkit для того, чтобы вставить браузер в LCL-форму.
 
Lazarus LCL/Qt WebKit доступен по адресу [http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html].
 
Lazarus LCL/Qt WebKit доступен по адресу [http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html].
  
Line 111: Line 111:
  
 
[http://wiki.lazarus.freepascal.org/GeckoPort GeckoPort вики]
 
[http://wiki.lazarus.freepascal.org/GeckoPort GeckoPort вики]
 +
 +
==[[LazActiveX]]==
 +
Импортированная библиотека объектов Internet Explorer.
 +
 +
==LazWebKit==
 +
Webkit для GTK2
 +
[http://sourceforge.net/p/lazwebkit/wiki/Home/ lazwebkit]
 +
 +
=See also=
 +
 +
* [[Executing External Programs]]

Revision as of 18:39, 22 July 2014

Deutsch (de) English (en) español (es) русский (ru)

Запуск веб-браузера для просмотра страницы/адреса

OpenURL

OpenURL — это простейший способ открыть URL. Эта процедура определит, какой программой адрес должен быть открыт по умолчанию, и откроет в ней указанный URL. Она может использоваться для адресов вида 'mailto:aname@AnAddress?subject=:::A subject line', веб-адресов вида 'http://' и адресов файлов в виде 'file:///'.

uses LCLIntf;
...
OpenURL('http://www.lazarus.freepascal.org');

Определение браузера, используемого по умолчанию

Для каждой платформы существует свой механизм, позволяющий определять программы, используемые по умолчанию. Модуль LCL lazhelphtml содержит класс THTMLBrowserHelpViewer, позволяющий запускать веб-браузер для просмотра справки LCL. Можно использовать его (класса THTMLBrowserHelpViewer) метод FindDefaultBrowser, чтобы определить браузер, используемый по умолчанию, и запустить его. Далее пример:

uses 
  Classes, ..., LCLProc, LazHelpHTML;

...

implementation

procedure TMainForm.Button1Click(Sender: TObject);
var
  v: THTMLBrowserHelpViewer;
  BrowserPath, BrowserParams: string;
begin
  v:=THTMLBrowserHelpViewer.Create(nil);
  v.FindDefaultBrowser(BrowserPath,BrowserParams);
  debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
  v.Free;
end;

В Убунту (Linux) вы можете получить, как пример:

Browser=/usr/bin/xdg-open Params=%s

В Windows:

Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s

Запуск браузера

Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустить браузер:

uses 
  Classes, ..., LCLProc, LazHelpHTML, UTF8Process;

...

implementation

procedure TMainForm.Button1Click(Sender: TObject);
var
  v: THTMLBrowserHelpViewer;
  BrowserPath, BrowserParams: string;
  p: LongInt;
  URL: String;
  BrowserProcess: TProcessUTF8;
begin
  v:=THTMLBrowserHelpViewer.Create(nil);
  try
    v.FindDefaultBrowser(BrowserPath,BrowserParams);
    debugln(['Path=',BrowserPath,' Params=',BrowserParams]);

    URL:='http://www.lazarus.freepascal.org';
    p:=System.Pos('%s', BrowserParams);
    System.Delete(BrowserParams,p,2);
    System.Insert(URL,BrowserParams,p);

    // запуск браузера
    BrowserProcess:=TProcessUTF8.Create(nil);
    try
      BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
      BrowserProcess.Execute;
    finally
      BrowserProcess.Free;
    end;
  finally
    v.Free;
  end;
end;

Использование компонента turbopower internet pro

Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности:

  • Содержит компоненты, которые можно поместить на форму. Когда вы установите пакет в IDE, появятся несколько новых компонентов на палитре (панели компонентов), которые можно бросить на форму, также, как и другие компоненты LCL.
  • Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций.
  • Вы получите полный контроль над тем, какие файлы/адреса будут открываться.
  • Все-таки у него меньше возможностей, чем у полноценного веб-браузера. Не умеет проигрывать мультимедийные данные, использовать ява-скрипт или flash. Эти функции должны быть добавлены вами.

Можно найти несколько примеров в lazarus/components/turbopower_ipro/examples, демонстрирующих как открывать локальный html-файл с изображениями, гиперссылками и кнопками истории посещений.

QT Webkit

Если вы используете набор визуальных компонентов Qt, то вы сможете использовать Qt Webkit для того, чтобы вставить браузер в LCL-форму. Lazarus LCL/Qt WebKit доступен по адресу [1].

THtmlPort

THtmlPort - это версия HTML-компонентов, разработанных Дэйвом Болдуином, для Lazarus/Free Pascal, включает THtmlViewer, TFrameViewer и TFrameBrowser. THtmlPort вики

GeckoPort

GeckoPort - это адаптированная для Lazarus/Free Pascal версия Gecko SDK, разработанного Таканори Ито для Delphi, включая компонент TGeckoBrowser.

GeckoPort вики

LazActiveX

Импортированная библиотека объектов Internet Explorer.

LazWebKit

Webkit для GTK2 lazwebkit

See also