Topic: WebBrowser
только у меня все так плохо или у всех?
My Visual Database → Russian → WebBrowser
только у меня все так плохо или у всех?
У меня все в порядке, а какой точно сайт пытаетесь открыть?
У меня все в порядке, а какой точно сайт пытаетесь открыть?
google.ru-- ЕЩЕ ... пробовал и на других сайтах такое ощущение будто провет из прошлого... завтра попробую на другом ПК, отпишусь
а вот так сам googlе выглядит
Ну в общем попробовал на других ПК под разными версиями windiws, все тоже самое...
может в скрипте, что-то не так
procedure frmWeb_OnShow (Sender: TObject; Action: string);
var
web:TWebBrowser;
begin
Web := TWebBrowser.Create(frmWebSMS);
TWinControl(Web).Parent := frmWebSMS.Panel1;
Web.Align := alClient;
Web.Silent := 1;
web.Navigate('http://www.google.ru');
frmWebSMS.Caption:=Opennameweb;
end;
Действительно есть такая проблема, связана с тем, что по умолчанию компонент TWebBrowser работает как IE7, это можно изменить записав необходимый ключ в реестре, чтобы переключиться на эмуляцию IE10 или IE11 для вашего приложения, решение:
var
Web: TWebBrowser;
procedure Form1_OnShow (Sender: string; Action: string);
var
reg : TRegistry;
begin
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
reg:= TRegistry.Create;
try
reg.Access := KEY_ALL_ACCESS;
reg.RootKey:= HKEY_CURRENT_USER;
if reg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True) then
begin
if not reg.ValueExists(ExtractFileName(Application.ExeName)) then
reg.WriteInteger(ExtractFileName(Application.ExeName), 11000); // 10001 - IE10, 11000 - IE11 https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
end;
reg.CloseKey;
finally
reg.Free;
end;
Web := TWebBrowser.Create(Form1);
TWinControl(Web).Parent := Form1.Panel1;
Web.Align := alClient;
Web.Width := Form1.Width;
Web.Height := Form1.Height-50;
Web.Silent := 1;
end;
А как то можно прописать логин и пароль для каждого конкретного веба? допустим их на форме сразу 2. Panel1 и Panel2. Они настроены оба уже на нужный сайт, но 1 логинется в свой аккаунт, а второй в свой.
А как то можно прописать логин и пароль для каждого конкретного веба? допустим их на форме сразу 2. Panel1 и Panel2. Они настроены оба уже на нужный сайт, но 1 логинется в свой аккаунт, а второй в свой.
var
s:string;
Web: TWebBrowser;
procedure BrowserShow ( Action: string);
var
reg : TRegistry;
begin
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
reg:= TRegistry.Create;
try
reg.Access := KEY_ALL_ACCESS;
reg.RootKey:= HKEY_CURRENT_USER;
if reg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True) then
begin
if not reg.ValueExists(ExtractFileName(Application.ExeName)) then
reg.WriteInteger(ExtractFileName(Application.ExeName), 11000); // 10001 - IE10, 11000 - IE11 https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
end;
reg.CloseKey;
finally
reg.Free;
end;
Web := TWebBrowser.Create(Form1);
TWinControl(Web).Parent := Form1.Panel1;
Web.Align := alClient;
Web.Width := Form1.Width;
Web.Height := Form1.Height-50;
Web.Silent := 1;
web.Navigate(Action);
end;
begin
s:=InputBox('Введите пороль от сети','Пароль','');
if s='1' then BrowserShow ('http://www.google.ru') else
if s='2' then BrowserShow ('http://www.mail.ru');
end.
вот эту часть переделайте под себя
s:=InputBox('Введите пороль от сети','Пароль','');
if s='1' then BrowserShow ('http://www.google.ru') else
if s='2' then BrowserShow ('http://www.mail.ru');
Интересный способ, но совершенно не тот. Вопрос не о выборе сайтов, сайт один. Пусть тот же гугл. Вопрос есть ли возможность что бы уже был логин и пароль для каждого отдельного окна браузера где то прописанна, на одной форме. То есть ты открываешь форму, на ней 2 панели под страничку, и каждая страничка уже залогированна в свой аккаунт на одном сайте
А как то можно прописать логин и пароль для каждого конкретного веба? допустим их на форме сразу 2. Panel1 и Panel2. Они настроены оба уже на нужный сайт, но 1 логинется в свой аккаунт, а второй в свой.
3. Добавил методы, которые позволяют заполнять элементы на форме, находя их по id или name, примеры
Web.FillElementByName('fd1', 'test'); // заполнение текстового поля Web.FillElementByID('qjump-select', '4'); // выбираем 4 элемент из списка Web.FillElementByID('fld3', '1'); // установка галочки в CheckBox Web.FillElementByName('req_username', 'test'); Web.FillElementByName('qjump-select', '4'); Web.FillElementByName('checkboxname', '1');
а как нажать на кнопку?
<input type="submit" value="Отправить" class="wpcf7-form-control wpcf7-submit">
input type="submit"
Скачайте пожалуйста последнюю бета версию
https://www.dropbox.com/s/abazohrbdt3p9 … a.zip?dl=0
Пример:
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
if Web.ClickElement('input', 'Отправить') then ShowMessage('found and clicked');
end;
Есть форма с данными по контакту в которой ячейка "ВК" Где адресс с диалогом данного контакта
ПРИМЕР СТРОЧКИ "https://vk.com/im?media=&sel=152042587"
Как сделать так, что бы заходя на каждый контакт из таблицы, отображался диалог именно с этим контактом?
Проще говоря, как сделать так, что бы адресс странички подгружался из TextBox "ВК" ???
Что бы в итоге получилось что то вроде этого
И хотелось бы еще отдельное окно с Watsapp, но с ним немного сложней, так как в форме номер записан как 89009330340, а ссылка на него выглядит как "web.whatsapp.com/send?phone=79009330340" То есть тут уже нужна какая то подстановка ссылки с номером. И проверка на первую цифру. Что если там 8, то заменить её на 7. Но я в коде вообще не шарю... как его реализовать? Подскажите плз
Посмотрите эту ветку форума - там есть пример кода для "приклеивания" окон (в том числе окна браузера) на панель: http://myvisualdatabase.com/forum/viewtopic.php?id=5614
Примерно так
procedure frmContact_OnShow (Sender: TObject; Action: string);
var
s: string;
begin
if frmContact.edVK.Text <> '' then
begin
frmWebVk.Show;
WebVK.Navigate(frmContact.edVK.Text);
end;
if frmContact.edPhone.Text <> '' then
begin
s := frmContact.edPhone.Text;
if s[1] := '8' then s[1] := '7';
frmWebWhtsUp.Show;
WebWhtsUp.Navigate('https://web.whatsapp.com/send?phone='+s);
end;
end;
А есть такая возможность, что в виндоус10 не возможно переключить на IE10 или 11, потому что там такой то другой браузер установлен? Что делать тогда? я про TWebBrowser
Вроде как должно все работать, но посмотрите пожалуйста данную тему
https://stackoverflow.com/questions/294 … t-explorer
var
Web: TWebBrowser;
procedure Form1_OnShow (Sender: string; Action: string);
var
reg : TRegistry;
begin
// https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
reg:= TRegistry.Create;
try
reg.Access := KEY_ALL_ACCESS;
reg.RootKey:= HKEY_CURRENT_USER;
if reg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True) then
begin
if not reg.ValueExists(ExtractFileName(Application.ExeName)) then
reg.WriteInteger(ExtractFileName(Application.ExeName), 11000); // 10001 - IE10, 11000 - IE11 https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
end;
reg.CloseKey;
finally
reg.Free;
end;
Web := TWebBrowser.Create(Form1);
TWinControl(Web).Parent := Form1.Panel1;
Web.Align := alClient;
Web.Width := Form1.Panel1.Width;
Web.Height := Form1.Panel1.Height;
Web.Silent := 1;
Web.Navigate('https://calendar.google.com/calendar/r?cid=c2licHJvZ3Npc3RlbTBAZ21haWwuY29t');
end;
begin
end.
Почему то на некоторых компьютерах не работает. С чем это может быть связанно? Может быть с разрядностью системы?
Возможно, для 64 битной Windows, попробуйте записывать значение в реестр в данную ветку
Software\wow6432node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Но возможно это не поможет, т.к. MVD 32 битная, соотвественно компонент TWebBrowser также используется 32 битный.
А как то можно открывать не в IE а другим браузером? А то оказывается тот же сайт с ватсап web не потдерживает IE
Это можно реализовать через TWebBrowser? ну или через TChromium
IE и TWebBrowser это одно и тоже. Компонента TChromium в MVD нет.
Какая ссылка открыта браузером на данном скриншоте? проверю.
Ссылка https://web.whatsapp.com/
Но он и в обычном IE не будет работать. Браузер не поддерживается . Предлагает на выбор Google, Mozila, Opera ну или ME и сафари
Попробовал данную ссылку с TChromium для Delphi, но получил такое сообщение
WhatsApp works with Google Chrome 49+
Более свежей версии компонента к сожалению не нашел. Тут уже ничего не поделаешь.
А реально запускать Google Chrome внутри формы MVDB с заранее заданной страницей? Ну то есть смысл тот же, ток без TChromium или TWebBrowser, а напрямую?
В принципе можно
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
h: integer;
Max: integer;
begin
Openfile('ya.ru', 'chrome');
// finding window's
h := 0;
Max := 20;
while (h = 0) and (Max > 0) do
begin
h := FindWindow('Chrome_WidgetWin_1', ''); // find window using caption
Dec(Max);
Sleep(50);
end;
if h <> 0 then
begin
SetWindowPos( h, 0, -7, -30, 0, 0, SWP_NOSIZE); // set position
SetParent( FindWindow('Chrome_WidgetWin_1', ''), Form1.Panel1.Handle);
end;
end;
видимо у скайпа также используется хром для интерфейса, поэтому есть вероятность, что вместо хрома, переместиться скайп )
My Visual Database → Russian → WebBrowser
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi