Расширение Safari — как использовать метод setContextEventUserInfo

Я создаю расширение для Safari.

В мануале на странице "Добавление элементов контекстного меню", в параграфе "Добавление элементов контекстного меню программно" написано:

Вы можете добавлять пункты меню в контекстное меню, отвечая на расширенную версию события «contextmenu» на вашей глобальной странице или на панели расширения. Если вы сохранили информацию о событии, вызвав setContextEventUserInfo() во внедренном скрипте, вы можете использовать эту информацию, чтобы решить, какие пункты меню добавить.

Источник: https://developer.apple.com/library/archive/documentation/Tools/Conceptual/SafariExtensionGuide/AddingContextualMenuItems/AddingContextualMenuItems.html#//apple_ref/doc/uid/TP40009977-CH4-SW1

Теперь у меня есть этот код в моем внедренном скрипте (поскольку я пытаюсь передать выделенный текст фоновому скрипту):

function handleContextMenu(event) {
  var htmlClip = getHtmlClip(event);
  setContextEventUserInfo(htmlClip);
}

К сожалению, это генерирует эту ошибку:

ReferenceError: не удается найти переменную: setContextEventUserInfo

К сожалению, когда я искал setContextEventUserInfo в Google, единственным результатом была страница руководства Safari!

Может ли кто-нибудь объяснить мне, как я должен использовать метод setContextEventUserInfo?


person dan    schedule 01.07.2012    source источник


Ответы (1)


Это то, что вам нужно:

function handleContextMenu(event) {
    var htmlClip = getHtmlClip(event);
    safari.self.tab.setContextEventUserInfo(event, htmlClip);
}
person chulster    schedule 03.07.2012