Расширение Google Chrome: использовать Javascript в уведомлениях webkit?

Я следую Руководству разработчика расширений Google Chrome и пока могу для создания расширения с помощью действия браузера без всплывающего окна, которое запускало бы уведомление webkit в формате HTML.

Дело в том, что этот HTML-файл содержит кнопки действий, ссылки и JavaScript, но ни один из них, похоже, не отвечает.

Это случайное поведение или есть способ встраивать javascript / ссылки / кнопки в эти уведомления webkit?

РЕДАКТИРОВАТЬ:

Вот несколько новых идей по этому поводу:

JavaScript

Вот страница HTML-уведомления, которая не работает:

<html>
<head>
<script>
  alert("hey");
</script>
</head>
<body>
  content
</body>
</html>

В результате все уведомление остается пустым; текст "содержание" не отображается.

Но если я удалю «предупреждение», отобразится текст «контент».

Сначала я подумал, что Javascript блокирует правильную отрисовку страницы, но я попробовал кое-что еще:

<script>document.write("content");</script>

Эта команда JavaScript выполняется правильно и отображает текст «содержание». Затем мы можем предположить, что Javascript включен даже в уведомлениях рабочего стола webkit, но функция «предупреждение» отключена и прерывает отображение страницы уведомлений.

Ссылки

Некоторые ссылки работают, некоторые нет. Вот краткий список тех, что я уже тестировал:

<a href="http://www.google.com/">Link</a>                   # => Doesn't work
<a href="http://www.google.com/" target="_top">Link</a>     # => Doesn't work
<a href="http://www.google.com/" target="_parent">Link</a>  # => Doesn't work
<a href="http://www.google.com/" target="_blank">Link</a>   # => Works (new tab)

person Arnaud Leymet    schedule 22.05.2010    source источник
comment
Некоторые примеры кода могут быть полезны.   -  person pdbartlett    schedule 23.05.2010


Ответы (2)


Все это объясняется в Спецификации API уведомлений Chromium Desktop. где четко сказано, что:

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

  • Невозможно перейти к уведомлению. Атрибут Location объекта окна в контексте уведомления должен быть доступен только для чтения. Все ссылки должны открываться в новых контекстах просмотра без уведомлений.
  • Если close () вызывается для объекта окна в контексте уведомления в ответ на жест пользователя, пользовательский агент должен действовать так, как если бы пользователь закрыл уведомление, включая всю необходимую обработку событий.
person Arnaud Leymet    schedule 23.05.2010

ОБНОВЛЕНИЕ: createHTMLNotification() был удален из черновой спецификации, а также из Chrome , так что это больше не будет работать.

Самое близкое - это onclick обработчик всего окна уведомлений. Он менее заметен (не похож на ссылку), и я не проверял, можно ли перейти по ссылке из него.

person Beni Cherniavsky-Paskin    schedule 13.11.2012