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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Неинформативное название темы "Gecko"
Старый 01.10.2010, 11:13   #21
wma57
 
Регистрация: 16.06.2010
Сообщений: 3
По умолчанию

У кого есть примерчик как формы заполнять и нажимать кнопки
wma57 вне форума Ответить с цитированием
Старый 02.10.2010, 02:17   #22
NoName_emaNoN
Форумчанин
 
Аватар для NoName_emaNoN
 
Регистрация: 15.11.2007
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Shinnok91 Посмотреть сообщение
Дал программу своему другу на тест, и при попытке запуска выдоло ошибку, жаловалась программа вроде на ява-плагин (в скобках что то писала про версию фаерфокса 3 и выше), хотя у меня версия тоже 3 и выше и такой ошибки нет.
Это из-за того что Java обновился до Update 21. Эта версия Gecko уже не поддерживается. Нужно отключить Java в файле greprefs/all.js в строке:
Цитата:
pref("security.enable_java", true);
поставить false.

Либо юзать новый Gecko через ActiveX.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
NoName_emaNoN вне форума Ответить с цитированием
Старый 02.10.2010, 09:18   #23
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

Цитата:
Сообщение от NoName_emaNoN Посмотреть сообщение
Это из-за того что Java обновился до Update 21. Эта версия Gecko уже не поддерживается. Нужно отключить Java в файле greprefs/all.js в строке:

поставить false.

Либо юзать новый Gecko через ActiveX.
Спасибо. Хоть еще одеу проблему решил.

Цитата:
Сообщение от wma57 Посмотреть сообщение
У кого есть примерчик как формы заполнять и нажимать кнопки
Пиши мне в скайп rdt1231. Как обрабатывать нажатие кнопок скажу (только функцию stop и подобных (для остановки загрузки страницы) не нашел).
Но кнопки назад, вперед, обновить сделаны

Цитата:
Сообщение от NoName_emaNoN Посмотреть сообщение
Это из-за того что Java обновился до Update 21. Эта версия Gecko уже не поддерживается. Нужно отключить Java в файле greprefs/all.js в строке:

поставить false.

Либо юзать новый Gecko через ActiveX.
Только в таком случае вопрос - ява вообще не будет поддерживаться или как?
И если она не будет вообще поддерживаться, то где взять новую версию, потому что браузер должен поддерживать ява-скрипты (типа авторизация на сайте и другое)

Последний раз редактировалось Stilet; 18.01.2011 в 15:23.
Shinnok91 вне форума Ответить с цитированием
Старый 03.10.2010, 19:33   #24
NoName_emaNoN
Форумчанин
 
Аватар для NoName_emaNoN
 
Регистрация: 15.11.2007
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Shinnok91 Посмотреть сообщение
Только в таком случае вопрос - ява вообще не будет поддерживаться или как?
И если она не будет вообще поддерживаться, то где взять новую версию, потому что браузер должен поддерживать ява-скрипты (типа авторизация на сайте и другое)
Браузер перестанет поддерживать Java.

Последнюю версию Gecko можно скачать здесь.

Java и JavaScript - разные вещи. Браузер будет поддерживать JavaScript, но не будет Java.

JavaScript отключается другим ключём.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
NoName_emaNoN вне форума Ответить с цитированием
Старый 08.10.2010, 20:01   #25
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Тему добавили в рассылку, а на основные вопросы так и не ответили
http://www.programmersforum.ru/showthread.php?t=86957
http://www.programmersforum.ru/showthread.php?t=80620

p.s. http://www.programmersforum.ru/showthread.php?t=60479
эх, думал что-то новенькое узнаю..
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 08.10.2010, 21:29   #26
VladislavBalahnin
 
Регистрация: 08.10.2010
Сообщений: 3
По умолчанию

Чтобы User Agent сменить в файле greprefs/all.js нужно строку вставить

pref("general.useragent.override", "Ваш User Agent");

Это нужно сделать до создания самого браузера. Как поменять в уже созданном не знаю. Да и не зачем.

Мне нужно выполнить свой JavaScript на странице. Сделал пока через DOM.

Код:
procedure TForm1.btn2Click(Sender: TObject);
var
  s,atr,val: IInterfacedString;
  script:nsIDOMElement;
begin
  s:=NewString;
  atr:=NewString;
  val:=NewString;

  s.assign('script');
  script:=gckbrwsr1.ContentDocument.CreateElement(s.AString);
  atr.Assign('language');
  val.Assign('javascript');
  script.SetAttribute(atr.astring,val.astring);
  atr.Assign('type');
  val.Assign('text/javascript');
  script.SetAttribute(atr.astring,val.astring);

  atr.Assign('src');
  val.Assign('http://mysite.ru/1.js');
  script.SetAttribute(atr.astring,val.astring);
  s.Assign('head');
  gckbrwsr1.ContentDocument.GetElementsByTagName(s.astring).Item(0).AppendChild(script);
end;
Пытаюсь воспользоваться интерфейсом nsIDOMHTMLScriptElement описанном в модуле nsXPCOM.pas, но не знаю какое значение CID или ContractID нужно вписать в NS_CreateInstance. Пересмотрел уже все файлы на Си с сайта мозилы, но не нашел. Может кто-то подскажет как быть?

Последний раз редактировалось Stilet; 18.01.2011 в 15:23.
VladislavBalahnin вне форума Ответить с цитированием
Старый 20.10.2010, 03:38   #27
NoName_emaNoN
Форумчанин
 
Аватар для NoName_emaNoN
 
Регистрация: 15.11.2007
Сообщений: 229
По умолчанию

Если не ошибусь, то нужно копать в сторону ActiveX библиотеки Gecko. Её регистрировать и искать это значение "CID" в реесте.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
NoName_emaNoN вне форума Ответить с цитированием
Старый 22.10.2010, 20:15   #28
VladislavBalahnin
 
Регистрация: 08.10.2010
Сообщений: 3
По умолчанию

За совет спасибо. Но уже сделал, как в примере выше, только текст скрипта добавил в текстовую область.
Сейчас другая проблема. Переписал nsIDOMSerializer на Delphi :

Код:
  nsIDOMSerializer = interface(nsISupports)
  ['{9fd4ba15-e67c-4c98-b52c-7715f62c9196}']
  procedure SerializeToStream(root:nsIDOMNode;stream:nsIOutputStream;const charset:nsACString);safecall;
  function SerializeToString(root:nsIDOMNode):nsAString; safecall;
  end;
Вызываю так:

Код:
procedure TForm1.btn6Click(Sender: TObject);
var
  ser: nsIDOMSerializer;
begin
 NS_CreateInstance('@mozilla.org/xmlextras/xmlserializer;1',nsIDOMSerializer,ser);
 ser.SerializeToString(gckbrwsr1.ContentDocument);
end;
Получаю ошибку: "Ole error 80500001".

Кто-то видит ошибку в коде?

Последний раз редактировалось VladislavBalahnin; 22.10.2010 в 20:29.
VladislavBalahnin вне форума Ответить с цитированием
Старый 16.11.2010, 13:42   #29
VladislavBalahnin
 
Регистрация: 08.10.2010
Сообщений: 3
По умолчанию

Не работало, потому что был неправильно переписан nsIDOMSerializer. Нужно было так:
Код:
  nsIDOMSerializer = interface(nsISupports)
    ['{9FD4BA15-E67C-4C98-B52C-7715F62C9196}']
    function SerializeToString(root: nsIDOMNode; _retval: nsAString): HRESULT; safecall;
    function SerializeToStream(root: nsIDOMNode; stream: nsIOutputStream; const charset: nsACString): HRESULT; safecall;
  end;
Пимер:
Код:
procedure TForm1.btn8Click(Sender: TObject);
var
  ser:nsIDOMSerializer;
  r:IInterfacedString;
const
   NS_XMLSERIALIZER_CONTRACTID = '@mozilla.org/xmlextras/xmlserializer;1';
begin
  r:=NewString;
   GeckoEngineComp.NS_CreateInstance(NS_XMLSERIALIZER_CONTRACTID,nsIDOMSerializer,ser);
  if Assigned(ser) then
  begin
    ser.SerializeToString(g.ContentDocument,r.AString);
    ShowMessage(r.ToString);
  end;
end;

Последний раз редактировалось VladislavBalahnin; 16.11.2010 в 13:47.
VladislavBalahnin вне форума Ответить с цитированием
Старый 21.12.2010, 13:11   #30
Игорь22
Пользователь
 
Регистрация: 25.02.2008
Сообщений: 15
По умолчанию

привет, подскажи пожалуйста компанет для серфинга в нете на delphi что бы:

- подерживал смену cookies (2 компанента - 2 сессии, а не как в webBrowser)

- подерживал proxy, тоже например 2 компанета - можно задавать разные прокси сервера.

- поддерживал javaStript.

indy ( tINhttp ) - хороший компанет, только не подреживает джаву. (

спасибо.
Игорь22 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как использовать turbo C++ Klyan Общие вопросы C/C++ 11 07.03.2011 22:34
Как использовать скины SeRhy Компоненты Delphi 10 06.11.2010 00:23
Title на форме. Как можно перерисовать caption на form? Или убрать его и вместо использовать картинки Шульц Общие вопросы Delphi 37 02.10.2010 09:46
Как использовать команду Try? Ermiss Общие вопросы Delphi 24 04.02.2008 15:59