Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2014, 14:13   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Повторная загрузка страницы

вот создал я страницу
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  //Создаём документ с пустым содержанием.
  WebBrowser1.Navigate('about:blank');
  //Загружаем в документ нужный HTML код.
  WebBrowser1.OleObject.Document.Write('<html><H1>text</H1></html>');
end;
и как теперь мне изменить текст между <H1></H1> я нашел как, эта строка меняется часто по этому я текст перу с Edit.text а вот как повтороно гружу страницу у меня ничего не отображает, почему? можно ли сделать так чтоб само обновлялось? как на подобие на ajax? ну чтоб не загружать странички по 5000 раз)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 04.10.2014, 14:29   #2
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

проблемку я в принципе решил сам

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
WebBrowser1.Refresh2();
 WebBrowser1.OleObject.Document.Write('<html><H1>'+edit1.Text+'</H1></html>');
end;
нормально все, но вот меня интересно есть другие способы еще????
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 04.10.2014, 15:24   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Есть. У .Document должен быть метод getElementById() с его помошью найти элемент и заменить не всю страницу а конкретный элемент.
Код:
WebBrowser1.OleObject.Document.Write('<html><H1 id="qwe">'+edit1.Text+'</H1></html>');
WebBrowser1.OleObject.Document.getElementById('qwe').InnerHTML:='Другой текст';
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.10.2014, 15:32   #4
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Есть. У .Document должен быть метод getElementById() с его помошью найти элемент и заменить не всю страницу а конкретный элемент.
Код:
WebBrowser1.OleObject.Document.Write('<html><H1 id="qwe">'+edit1.Text+'</H1></html>');
WebBrowser1.OleObject.Document.getElementById('qwe').InnerHTML:='Другой текст';
ммм тоже интересный вариант... на подобие AJAX будет на сколько я понял, и не надо перезагружать страничку) спасибо интересно надо по пробовать)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 04.10.2014, 15:33   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
на подобие AJAX будет
Нет не на подобие. Это редактирование DOM, Аякс тут вообще ни при чем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.10.2014, 15:46   #6
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Нет не на подобие. Это редактирование DOM, Аякс тут вообще ни при чем.
Не я имею ввиду то что не надо будет по новой загружать документ а напрямую изменять)))
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 04.10.2014, 19:34   #7
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Есть. У .Document должен быть метод getElementById() с его помошью найти элемент и заменить не всю страницу а конкретный элемент.
Код:
WebBrowser1.OleObject.Document.Write('<html><H1 id="qwe">'+edit1.Text+'</H1></html>');
WebBrowser1.OleObject.Document.getElementById('qwe').InnerHTML:='Другой текст';
Вот по пробовал так
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
  WebBrowser1.Navigate('about:blank');
WebBrowser1.OleObject.Document.Write('<html><H1 id="qwe">'+edit1.Text+'</H1></html>');
WebBrowser1.OleObject.Document.getElementById('qwe').InnerHTML:=Edit1.Text;

end;
при повторном клике по кнопке у меня в документе пишет по 2 раза
Edit1
Edit1
он не меняет походу а добавляет... почему?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка страницы в CppWebBrowser Ёжик в тумане C++ Builder 5 05.09.2013 10:30
Загрузка страницы авторизации! cashmail Работа с сетью в Delphi 6 25.12.2012 08:26
Загрузка html страницы DinamoBrynsk Работа с сетью в Delphi 6 13.12.2010 14:16
Неполная загрузка страницы mixer94 Работа с сетью в Delphi 3 16.12.2009 18:01
загрузка страницы в iframe IvanPavlov HTML и CSS 2 25.11.2009 19:05