|
|
Определяет интернет-браузер на базе приложения Internet Explorer.
Создание объекта
webObj=new TWebBrowser(Parent);
Собственные свойства
|
Свойство
| Тип
| Описание
|
Offline
| Boolean
| компонент работает в автономном режиме
|
RegisterAsBrowser
| Boolean
| компонент является браузером по умолчанию
|
RegisterAsDropTarget
| Boolean
| компонент может принимать документы в режиме перетаскивания
|
Silent
| Boolean
| запретить использование диалоговых окон в документе
|
Только чтение
| [TYPE]
| [DESC]
|
Busy
| Boolean
| компонент занят выполнением текущей операции
|
FullName
| String
| полное название приложения, содержащего компонент
|
HWND
| Number
| дескриптор окна компонента Windows GDI (hWnd)
|
LocationName
| String
| имя загруженного документа или UNC файла/каталога
|
LocationURL
| String
| URL загруженного документа или UNC файла/каталога
|
Name
| String
| сокращенное название приложения, содержащего компонент
|
Path
| String
| путь к приложению, содержащему компонент
|
ReadyState
| Enum
| текущее состояние компонента (см. ниже)
|
TopLevelContainer
| Boolean
| компонент является контейнером верхнего уровня
|
Type
| String
| тип загруженного документа
|
|
Свойство ReadyState
|
Значение
| Описание
|
READYSTATE_UNINITIALIZED
| не инициализирован
|
READYSTATE_LOADING
| загружает свои свойства
|
READYSTATE_LOADED
| пришел в начальное состояние, но еще не активен
|
READYSTATE_INTERACTIVE
| активен, но занят загрузкой документа
|
READYSTATE_COMPLETE
| активен, документ загружен и доступен
|
|
Стандартные свойства
Собственные методы
|
Метод
| Описание
|
GoBack
| выполняет переход к предыдущей странице из истории просмотра браузера
|
GoForward
| выполняет переход к следующей странице из истории просмотра браузера
|
GoHome
| выполняет переход к домашней странице браузера
|
GoSearch
| выполняет переход к поисковой странице браузера
|
Navigate
| выполняет переход к указанной странице
|
Refresh
| перезагружает текущую страницу браузера
|
SetHTML
| отображает HTML-код, заданный строковым параметром
|
Stop
| прерывает текущую операцию браузера
|
|
Стандартные методы
Стандартные события
var URL_Lst=new Array( "https://google.com", "https://youtube.com" );
// Главная форма frm=new TForm(); frm.Caption="JS+ - визуальный компонент TWebBrowser"; frm.Position=poDesigned; with (Screen) frm.SetBounds( WorkAreaLeft,WorkAreaTop,WorkAreaWidth,WorkAreaHeight );
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Пример интернет-браузера";
// ToolBar tlb=new TToolBar(frm); tlb.Align=alNone; tlb.DrawingStyle=dsGradient; tlb.EdgeBorders=ebLeft+ebTop+ebRight+ebBottom; tlb.EdgeInner=esRaised; tlb.Left=tlb.Top=15; tlb.ButtonMargin=2;
for (i=j=0;i<7;i++) { tbt=new TToolButton(tlb); tbt.Style=tbsButton; tbt.ShowHint=true;
switch (i) { case 1: case 4: tbt.Style=tbsSeparator; tbt.Width=3; continue;
case 0: tbt.Hint="Домой"; break; case 2: tbt.Hint="Назад"; break; case 3: tbt.Hint="Вперед"; break; case 5: tbt.Hint="Обновить"; break; case 6: tbt.Hint="Остановить"; } tbt.numTag=j; tbt.LoadImage( JSPlus.HelpDir+"IMAGE\\TWebBrowser\\"+(j++)+".ico"); tbt.OnClick=tbt_Click; }
// Кнопка "Переход" btn=new TButton(frm); btn.Caption="Переход"; btn.Left=frm.ClientWidth-btn.Width-15; btn.Top =tlb.Top; btn.Height=tlb.Height; btn.Hint="Перейти на страницу"; btn.ShowHint=true; btn.OnClick=btn_Click;
// Список сайтов со строкой адреса cmb=new TComboBox(frm); cmb.Style=csDropDown; cmb.Sorted=true; cmb.Left=tlb.Left+tlb.Width+15; cmb.Top =tlb.Top+(tlb.Height-cmb.Height)/2; cmb.Width=btn.Left-cmb.Left-15; for (i=0;i<URL_Lst.length;i++) cmb.Items.Add(URL_Lst[i]); cmb.ItemIndex=0; cmb.OnKeyPress=cmb_KeyPress; cmb.OnSelect=cmb_Select;
// WebBrowser web=new TWebBrowser(frm); web.Offline=false; web.Silent=true; web.Left=tlb.Left; web.Top =tlb.Top+tlb.Height+15; web.Width =frm.ClientWidth-web.Left*2; web.Height=stb.Top-web.Top-15; web.OnCommandStateChange=web_CommandStateChange; web.OnDocumentComplete=web_DocumentComplete; web.OnTitleChange=web_TitleChange;
web.Navigate(cmb.Text,0); frm.ShowModal();
// Обработчик события OnClick панели кнопок function tbt_Click(tbt) { switch (tbt.numTag) { case 0: web.GoHome(); break; case 1: web.GoBack(); break; case 2: web.GoForward(); break; case 3: web.Refresh(); break; case 4: web.Stop(); } }
// Обработчик события OnClick кнопки Переход function btn_Click(btn) { web.Navigate(cmb.Text,0); }
// Обработчик события OnKeyPress function cmb_KeyPress(cmb,Key) { if (Key.Value==VK_ENTER) web.Navigate(cmb.Text,0); }
// Обработчик события OnSelect function cmb_Select(cmb) { web.Navigate(cmb.Items[cmb.ItemIndex],0); }
// Обработчик события OnDocumentComplete function web_DocumentComplete(web,url) { var i,lwr_url=(cmb.Text=web.LocationURL).toLowerCase();
for (i=0;i<cmb.Items.Count;i++) if (lwr_url.indexOf(cmb.Items[i].toLowerCase())==0) return;
cmb.Items.Add(cmb.Text); }
// Обработчик события OnCommandStateChange function web_CommandStateChange(web,Command,State) { var i;
switch (Command) { case CSC_NAVIGATEBACK : i=2; break; case CSC_NAVIGATEFORWARD: i=3; break; default: return; } tlb.Buttons[i].Enabled=State; }
function web_TitleChange(web,ttl_Str) { stb.SimpleText=" "+ttl_Str; ProcessMessages(); }
|
var HTML_Buf= "<HTML>"+ "<META HTTP-EQUIV='Content-type' CONTENT='text/html;charset=windows-1251'>"+ "<STYLE TYPE='text/css'>"+ ".STD_FONT {font-family:Arial;font-size:10pt}"+ ".STD_BTN {padding:7px 10px 7px 10px;border:1px silver outset;background:silver;cursor:pointer}"+ "</STYLE>"+ "<BODY STYLE='overflow:auto;border:1px silver solid'>"+ "<TABLE CLASS=STD_FONT WIDTH=100% HEIGHT=100% CELLPADDING=0 CELLSPACING=0>"+ "<TR><TD ALIGN=CENTER VALIGN=MIDDLE>"+ "[CONTENT]"+ "</TABLE>"+ "</BODY>"+ "</HTML>";
// Главная форма frm=new TForm(); frm.Caption="JS+ - визуальный компонент TWebBrowser"; frm.Width =600; frm.Height=450;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Нажмите на Кнопку";
// Web-браузер web=new TWebBrowser(frm); web.SetBounds(20,20,frm.ClientWidth-40,stb.Top-40);
HTML_Str= HTML_Buf.replace("[CONTENT]", "Это <i>страница</i> <b>HTML</b><P>"+ "<BUTTON ID=TST_BTN CLASS=STD_BTN STYLE='font-size:90%' onClick='btn_Click(this.id);'"+ " TITLE='Это HTML-кнопка'>Кнопка"+ "</BUTTON>"+ "<SCRIPT TYPE='text/javascript'>"+ "function btn_Click(id_Str) {"+ "document.title='Нажата кнопка '+id_Str;"+ "}"+ "</SCRIPT>");
web.SetHTML(HTML_Str); web.OnTitleChange=web_TitleChange;
frm.ShowModal();
function web_TitleChange(web,ttl_Str) { alert(ttl_Str); }
|
Совместимость
C++ Builder/Delphi (компонент TCppWebBrowser)
|
JS+ | Руководство пользователя
|
|
|
|
|
|