Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> почему webbrowser некорректно отражает заголовок, отраж.загл страницы замещенно баннером  
V
    Опции темы
s2004
Дата 15.12.2009, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



Почему при загрузке некой страницы заголовок страницы правильно отображается в строке combobox, edit, ieaddress (строка ввода адресса), но когда страница загружена полностью отображается баннер размещённый на страницы при этом неважно, где он находится в вверху или внизу. Например страница mail.ru отражается корректно при загрузке и когда она полностью загруженна, а вот сайт прогноза погоды gismeteo.ru при загрузке отражается правильно при полном загрузке about:blank в строке ввода адреса сайта и всё. Как это исправить?
PM MAIL   Вверх
Демо
Дата 15.12.2009, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 3
Всего: 50



Ничего непонятно.
Приведи пример кода, в котором ты получаешь какие-то данные и они неправильные.


--------------------
    
PM MAIL ICQ Skype   Вверх
s2004
Дата 15.12.2009, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



ну чтож по просьбе ....
классика
Код


procedure TForm1.IEAddress1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key = VK_RETURN then
  EmbeddedWB1.Navigate(IEAddress1.Text);

end;



далее
Код

procedure TForm1.EmbeddedWB1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);

  begin
if (Targetframename = '') and (url <> ieaddress1.text) then
  ieaddress1.text := Url;

end;



далее
Код

procedure TForm1.EmbeddedWB1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
('OnDocumentComplete: ' + URL);
end;
procedure TForm1.EmbeddedWB1DownloadComplete(Sender: TObject);
begin
 EmbeddedWB1.SetFocusToDoc;
    Form1.Caption:=('Browser' + '    '+'Site Name:  '+(EmbeddedWB1.LocationURL));

end;
procedure TForm1.EmbeddedWB1NavigateComplete2(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
 var dir: array [0..MAX_PATH] of Char;
begin
  GetSystemDirectory(dir, MAX_PATH);
  if AnsiUpperCase(StrPas(dir)+'\shdoclc.dll') = AnsiUpperCase((EmbeddedWB1.document as IHTMLDocument2).location.hostname) then
    EmbeddedWB1.Navigate('MyError.html');
end;

да при клике на ссылку в окне моего браузера чтобы открывалась страница именно в моём браузере, а не в опере например у меня
Код

procedure TForm1.EmbeddedWB1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
 var Cancel: WordBool);
 var NewWindow:TForm1;
begin
NewWindow := TForm1.Create(self);
SetWindowLong(NewWindow.Handle, GWL_EXSTYLE, GetWindowLong(NewWindow.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
NewWindow.Show;
ppDisp:=NewWindow.EmbeddedWB1.DefaultDispatch; //

 end;



правда одно неудобно при закрывание окон если закрывается первичное окно то всё программа закрывается полностью вроде всё перечислил которое могло повлиять на отображение адреса страницы в ieaddress1.text

Добавлено @ 22:18


Это сообщение отредактировал(а) s2004 - 15.12.2009, 22:29
PM MAIL   Вверх
s2004
Дата 16.12.2009, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



мда перебрал практически всё включая
Код

procedure TForm1.EmbeddedWB1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
 if (pDisp = CurDispatch) then
  begin
    CurDispatch := nil; {clear the global variable }
  end;
end;

procedure TForm1.EmbeddedWB1NavigateComplete2(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
 var dir: array [0..MAX_PATH] of Char;
begin

if CurDispatch = nil then
    CurDispatch := pDisp; { save for comparison }

 
  end;



заметил нюанс больше глючит когда я открываю новое окно кликая по сылке, то есть всё вроде нормально открывается, но адрес невсегда, но часто неотражается имеенно в дочернем окне и пока получается, если закрыть главное окно, то все окна закрываются.

Это сообщение отредактировал(а) s2004 - 16.12.2009, 20:09
PM MAIL   Вверх
s2004
Дата 17.12.2009, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



вот так корректно отражает адрес, но при выкл. загрузке картинок в главном окне загрузки нет, но в дочернем она появляется и закрытие главного окна ведёт к закрытию дочерних окон.
Код корректно отражающий адрес
Код

procedure TForm1.EmbeddedWB1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);

  begin
('OnBeforeNavigate2 ' + URL);
end;

procedure TForm1.EmbeddedWB1DownloadBegin(Sender: TObject);
begin
 ('OnDownloadBegin');
//ошибка указателяStatusBar1.Panels[0].Text := 'Downloading ' +EmbeddedWB1.LocationURL + '...';
end;
procedure TForm1.EmbeddedWB1NavigateComplete2(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
 var dir: array [0..MAX_PATH] of Char;
begin
('OnNavigateComplete2 ' + URL);
  IEAddress1.Text := EmbeddedWB1.LocationURL;
end;
procedure TForm1.EmbeddedWB1DownloadComplete(Sender: TObject);
begin
EmbeddedWB1.SetFocusToDoc;
    Form1.Caption:=('Netwin' + '    '+'Site Name:  '+(EmbeddedWB1.LocationURL));
end;
procedure TForm1.EmbeddedWB1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
('OnDocumentComplete: ' + URL);
end;



события написал, как они рекомендованы браузер.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.