Pull to refresh

Расширения для Opera: Окна

Reading time3 min
Views3.1K
Original author: Zi Bin Cheah
Вступление

Расширения для Opera дают вам возможность добавлять функционал прямо в десктопный браузер Opera, используя такие веб-стандарты как HTML, JavaScript и CSS. В этой статье мы рассмотрим, как использовать API расширений для управления оконной системой браузера. Делается это через объект Windows.

Если вам необходимо ознакомиться с основами расширений для Opera, то статья «Ваше первое расширение для Opera» это хороший материал для начала.

Создание окон

Как обычно, мы используем перехватчик событий, чтобы запускать функцию в момент срабатывания события, в данном случае — когда окно завершает загрузку. Затем мы проверяем, существует ли функция opera.extension.windows.create прежде, чем вызвать её:

window.addEventListener( "load", function(){
  if( opera.extension.windows.create )
  {
  opera.extension.windows.create();
  } else {
    // Функция opera.extension.windows.create не найдена
  }
}, false);

События в Окнах

События возбуждаются в момент взаимодействия с объектом Окна. Например, если окно в фокусе, то возбуждается событие onfocus. В расширениях для Opera таких событий четыре:
  • onfocus
  • onclose
  • oncreate
  • onblur

Когда события возбуждаются, мы используем метод opera.postError для оповещения об этом. Вы можете наблюдать вывод opera.postError в Error Console.

window.addEventListener( "load", function(){
  if( opera.extension.windows )
  {
     opera.extension.windows.onfocus = function( event ){
		opera.postError("windows is focused");
    }
   opera.extension.windows.onclose = function( event ){
		opera.postError("windows is closed");
    }
      opera.extension.windows.oncreate = function( event ){
		opera.postError("windows is create");
    }
     opera.extension.windows.onblur = function( event ){
		opera.postError("windows loses focus");
    }
    
   } else {
    // Объект opera.extension.windows не найден
  }
}, false);

Перехватчики событий в Окнах

Теперь обратим наше внимание на перехватчики событий. Подобно стандартным перехватчикам событий в JavaScript, вы передаёт перехватчику событий в расширении для Opera три аргумента: событие, функцию для выполнения и булеву величину. Вы можете перехватывать следующие типы событий:
  • focus
  • close
  • create
  • update
  • blur

В следующем примере кода мы регистрируем событие focus, используя функцию addEventListener. Последний аргумент определяет фазу, на которой обработчик события должен запускаться. Это должна быть булева величина и в данный момент мы выставим её значение в false.

opera.extension.windows.addEventListener( "focus", function(){// делаем что-нибудь}, false)

Разница между addEventListener и onevent заключается в том, как эти две модели событий работают. К примеру, этот код выполнит только последнюю строку, так как она заменит первую.

opera.extension.windows.onfocus = function(){ // делаем что-нибудь };
opera.extension.windows.onfocus = function(){ // делаем что-нибудь };

Следующий пример выполнит обе функции, так как они обе зарегистрированы:

opera.extension.windows.addEventListener( "focus", function(){ // делаем что-нибудь }, false);
opera.extension.windows.addEventListener( "focus", function(){ // делаем что-нибудь }, false);

Заключение

В этой статье мы рассмотрели, как управлять Окнами в десктопном браузере Opera используя объект windows. Для большей информации вы можете обратиться к API расширений для Opera.

Ссылка на API

объект opera.extension.windows

Update. Пара примеров:
CreateWindow.oex — создаёт кнопку, при клике на которую открывается новое окно.
Events.oex — постит в Error Console о событиях происходящих с окном браузера.
Tags:
Hubs:
Total votes 45: ↑36 and ↓9+27
Comments7

Articles