документация по событию до загрузки Safari - PullRequest
3 голосов
/ 09 декабря 2010

Я не могу найти никакой документации по событию "beforeload", кроме Блокирования нежелательного содержимого этого раздела.

Что я специально ищу, это структура сообщения о событии,Из вышеупомянутого документа я знаю, что есть член "event.url", но не более того.Из фрагмента исходного кода, который я знаю, есть также элемент «event.target.nodeName».Но у меня больше ничего нет.

Я заблудился как в документах WebKit, так и в документах w3.Где я могу найти простую справочную документацию для события «beforeload»?

Ответы [ 3 ]

4 голосов
/ 13 декабря 2010

Событие DOM beforeload - это концепция WebKit, она не относится к расширениям Safari. У него есть свойство URL.

Для получения дополнительной информации о событии beforeload вы можете увидеть:

http://opensource.apple.com/source/WebCore/WebCore-1298/dom/BeforeLoadEvent.idl

Если вы используете это в скрипте содержимого расширения, один из способов получить дополнительную информацию о том, чтобы иметь такой код, как:

document.addEventListener("beforeload", beforeLoadHandler, false);

function beforeLoadHandler(event)
{
    console.log(event);
}

А затем используйте веб-инспектор для просмотра информации о событии (вы можете увидеть его URL, посмотреть цель события и т. Д.).

3 голосов
/ 09 декабря 2010

Сообщения о событиях (SafariExtensionMessageEvent экземпляры) имеют только name и message ( документация класса ).На самом деле это обсуждается на той же странице .

Интересно, что документация класса событий ( SafariEvent ) не упоминает свойство или метод url, поэтому либо объектдругого класса передается или что-то еще происходит.

Как и вы, я обнаружил, что документация Apple в лучшем случае нуждается.Чтобы написать небольшие расширения, которые я хотел написать, мне пришлось собрать воедино информацию из разных мест в документации.Если вам интересно, единственный ли вы человек, которому пришлось слишком усердно работать, чтобы выполнить относительно простые задачи ... это не так.: -)

1 голос
/ 06 января 2012

В примере для аргумента захвата должно быть установлено значение «истина», а не «ложь» при использовании содержимого страницы. Я не уверен, как это повлияет на его использование в расширениях, но люди используют это непосредственно из содержимого страницы и используют его для перезаписи страниц. И вам нужно захватить в этом случае.

...