Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

Разработка » Gecko Scrolling » 26-06-2011 17:42:05

Здравствуйте. Встроил gecko в свое приложение. При попытке прокрутить страницу средней кнопкой мыши ничего не выходит. И так пока не выделишь какой-нибудь input или не перейдешь по ссылке. Если потянуть мышью за скроллбар, то работает. Фокус контролу передавал и SetFocus интерфейса nsIBaseWindow вызывал. Может кто-то подскажет в чем может быть проблема?

Разработка » Выключить диалог печати в Gecko » 29-04-2011 02:30:39

Так пока и сделал - зарегистрировал свой класс. Диалоги не показываются.  Но если их придется затем включить, можно ли как-то вернуть родной класс Мозилы отвечающий за это или придется реальзовывать уже все в своем классе?

Разработка » Выключить диалог печати в Gecko » 29-04-2011 01:36:19

Здравствуйте.
Интересует как можно выключить функцию печати в Gecko. То есть чтобы при выполнении JS функции window.print(); не открывался диалог выбора принтера и т.д.
Может какая-то настройка есть? Нашел только "print.show_print_progress", но это только отключение отображения прогресса печати.
Пока придумал вариант написать пустой класс поддерживающий nsIPrintingPromptService и зарегистрировать его. Может есть более простой вариант?

Разработка » Встраивание Gecko (проблема с курсором) » 28-04-2011 23:15:09

Все вопрос к счастью для меня решен... Нужно было указать директорию профиля. После этого стало работать нормально.

Разработка » Встраивание Gecko (проблема с курсором) » 28-04-2011 02:54:15

Попробовал повесить обработчики mouseover и mouseover, чтобы вручную менять вид указателя. Проверял, если target элемент ссылка то указатель менять. Но мозила все равно возвращает его в свое положение....

Разработка » FF doc.body.innerHTML отдает только часть кода » 26-04-2011 14:25:54

Может попробовать через интерфейс nsIDOMSerializer? У него есть метод SerializeToString.

Выделить код

Код:

var s = new XMLSerializer();
var d = document;
var str = s.serializeToString(d);
alert(str);

Разработка » user agent в Mozilla 4.0 » 26-04-2011 13:38:10

Helloween пишет

Ещё раз спасибо!

Не за что :)

Разработка » user agent в Mozilla 4.0 » 22-04-2011 23:22:11

Нужно поменять настройки браузера.  На Delphi так:

Выделить код

Код:

procedure ChangeUserAgent(UserAgent:string);
var
  PrefService: nsIPrefService;
  PrefBranch: nsIPrefBranch;
const
  PREFSERVICE_ContractID= '@mozilla.org/preferences-service;1';
begin
  NS_GetService(PREFSERVICE_ContractID, nsIPrefService,PrefService);
  PrefService.GetBranch('general.useragent.',PrefBranch);
  PrefBranch.SetCharPref('override', PChar(UserAgent));
end;

Разработка » Встраивание Gecko (проблема с курсором) » 22-04-2011 23:15:45

Здравствуйте. Встроил Gecko 2.0 в свое приложение. Появилась проблема с указателем мыши- когда подводишь мышь к текстовой ссылке, то он меняется не на указатель в виде руки с вытянутым пальцем, а на вертикальную черту, как в текстовом поле. Если ссылка в виде изображения, то указатель вовсе не меняется. В Gecko 1.9.1 этой проблемы не было.

И еще один вопрос про nsIDownloadManager - кто-то знает как им пользоваться? Пробовал запросить через CompopnentManager и ServiceManager, но безуспешно.

Разработка » Проблема со встраиванием Gecko 1.9.2 » 30-11-2010 19:29:34

Попробовал версию 2.0 . Там таких проблем не возникло. Но есть пару других - не удается зарегистрировать свой Prompt Service, точнее он регистрируется, и через NS_GetService вызывается, но Gecko почему то его не использует, когда страница вызывате Alert или другой диалог. И курсор пи наведении на элементы не менялся на указатель, страница не прокручивалась колесиком мыши, только перетягиванием ScrollBar. А в общем мне версия 2.0 нравится - быстро инициализируется движок, даже быстрей чем 1.9.2 и по моему странница быстрей грузится.  Буду ждать релиза. пока что буду на 1.9.1

Кстати никто не знает как использовать nsIDownloadManager. Через NS_GetService не вызывается. Может его как-то нужно инициализировать? Вообще первоначальная задача - отследить момент скачивания файла, чтобы вывести свой диалог и т.д. Если браузер нарывается на файл типа rar или exe, то пишет, что неизвестный формат, он его пропарсить я так понимаю пытается. А мне нужно чтобы в этот момент сработал какой-то обработч

Разработка » настройки браузера » 29-11-2010 02:13:48

Не знаю как в дополнении. Но на Delphi делаю так:

Выделить код

Код:

Browser.QueryInterface(nsIWebBrowserSetup,BrowserSetup);
  BrowserSetup.SetProperty(NS_IWEBBROWSERSETUP_SETUP_ALLOW_IMAGES,1); - 0 выключить

Browser это nsIWebBrowser, а BrowserSetup - nsIWebBrowserSetup
Подействует только при следующей загрузке страницы.
В дополнении наверное тоже что-то в этом роде.
Константы настроек можно посмотреть тут http://www.mozilla.org/projects/embeddi … api10.html

Разработка » Проблема со встраиванием Gecko 1.9.2 » 29-11-2010 02:03:41

Здравствуйте.
По окончанию загрузки страницы вылетает ошибка "invalid floating point operation". Если выключить исполнение JavaScript в браузере, то ошибка не появляется и страница грузится нормально. В версии 1.9.1 такого не было. Может кто-то подскажет, что изменилось и как исправить эту проблему?
Буду благодарен любой помощи.

Разработка » Остановить выполнение скрипта на странице » 16-11-2010 02:11:25

Gecko встроен в приложение на Delphi. Интересует как можно остановить выполнение скриптов в уже загруженной странице. Если устанавливаю Setup для nsIWebBrowser, то изменения вступают в силу, только  при следующей загрузке страницы, а активный скрипт продолжает работать. Это нужно для борьбы с постоянным открыванием диалогов в цикле, как в Opera в каждом диалоге есть CheckBox - запретить исполнение скриптов.. Пока что для каждого окна создал поле, в котором записываю разрешено этому окну создавать диалоги или нет. Но постоянная проверка(если скрипт создает диалоги в цикле без перерыва) грузит процессор. Хотелось бы выключить исполнение скриптов в текущем окне. Если у кого-то есть пример на Си или просто идеи  буду очень благодарен.

Разработка » Диалоги в Gecko SDK Delphi » 06-11-2010 21:38:16

Здравствуйте. Использую Gecko в приложении delphi. Появилась проблема - не отображаются диалоги JS(alert, confirm и т.д.).  За это вроде должен отвечать PromptServis.
Если я все правильно понял, то его нужно реализовать самому. Его написал, но не знаю как его зарегистрировать.

Выделить код

Код:

procedure RegPromptServis;
var
  compR:nsIComponentRegistrar;
  aFactory: nsIFactory;
  mtpr:TPromptServis;
  r:nsresult;
const
  PromptService_CID: TGUID = '{a2112d6a-0e28-421f-b46a-25c0b308cbd0}';
  PromptService_ContractID= '@mozilla.org/embedcomp/prompt-service;1';
begin
  mtpr:=TPromptServis.Create;// Мой класс
  r:=NS_GetComponentRegistrar(compR);
  if not  NS_FAILED(r) then
  begin
      //Тут не знаю как связать aFactory с моим классом   
      compR.RegisterFactory(PromptService_CID,'Prompt Service', PromptService_ContractID,aFactory);
    end;
  end;

Может кто-то работал с Gecko в Delphi? Подскажите как бороться с этими диалогами.
Заранее спасибо.

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]