|
|
Выполняет переход к домашней странице браузера.
var URL_Lst=new Array( "https://google.com", "https://youtube.com" );
// Главная форма frm=new TForm(); frm.Caption="JS+ - метод компонента TWebBrowser GoHome"; 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(); }
|
Примечание
URL домашней страницы браузера находится в реестре Windows по адресу:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page.
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|