Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: загрузка в TWEBBrowser внешнего js файла и выполнение функции.  (Прочитано 10186 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
monrus
Опытный

ru
Offline Offline

« : 18-08-2012 18:01 » new

Привет всем.
Подскажите пример, для компонента TWebBrowser чтобы в него загружался внешний js-файл и из него запускалась функция. Примеров и инете не нашел с внешними js-файлами. Спасибо.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 18-08-2012 18:23 » 

В браузере нужно открыть HTML-документ, в котором присутствует элемент script с установленным src. Запуск функции можно реализовать в том же документе скриптом на событие onload для элемента script.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
monrus
Опытный

ru
Offline Offline

« Ответ #2 : 18-08-2012 18:38 » 

Извиняюсь. Можно пример? Если я правильно понял :
Execscript('onload=хххххххххх', 'javascript')? Такой формат?
« Последнее редактирование: 18-08-2012 18:41 от monrus » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 18-08-2012 19:11 » 

monrus, а что такое execscript?

Я думаю, тебе нужно познакомиться со следующими вещами:
1) HTML вообще.
2) Объектная модель HTML в браузере (DOM).
3) COM-объекты браузера IE (как сам браузер, так и работа с DOM) - потому, что компонент TWebBrowser - это лишь оболочка над COM-объектами.
4) Определиться с JavaScript скриптом, который должен работать.
5) Как браузер взаимодействует с веб-сервером.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
zubr
Гость
« Ответ #4 : 18-08-2012 20:32 » 

1. Получаем объект документа в броузере: HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
2. Создаем массив-вариант для загрузки в него строки: v := VarArrayCreate([0, 0], varVariant);
3. Загружаем в него html-строку, где будет, к примеру <script type="text/javascript" src="blablabla.js">
4. Запишем в документ: HTMLDocument.Write
Есть другой вариант загрузки данных в броузер, смотри в сторону IPersistStreamInit.
Если надо просто выполнить скрипт в окне броузера, то можно воспользоваться методом интерфейса IHTMLWindow2.ExecScript. Для этого надо получить объект документа, а из него IHTMLWindow2 = IHTMLDocument2.parentWindow
Записан
monrus
Опытный

ru
Offline Offline

« Ответ #5 : 19-08-2012 01:42 » 

Спасибо. Попробуем.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines