Отображать значок в уведомлении FirefoxOS

Я хочу отобразить значок в Notofication Firefox OS, для этого я использую этот код:

var img = './images/icon-30.png';
var notification = new Notification('Notification', { body: 'Body Notification', icon: img });
notification.addEventListener('click', function() {launchSelf();});

На рабочем столе значок отображается хорошо

введите здесь описание изображения

но значок не отображается на мобильном устройстве (симулятор ОС Firefox)

введите здесь описание изображения

в чем проблема ? Есть идеи ? Спасибо.

Обновлять

Если я получу значок из URL-адреса следующим образом: https://cdn1.iconfinder.com/data/icons/app-tab-bar-icons-for-ios/30/User_login.png значок хорошо отображается в симуляторе, поэтому я думаю, проблема в пути :/

NB: я использую Firefox OS 1.3 и размер значка 30 x 30.


person 2dar    schedule 06.04.2014    source источник


Ответы (5)


Цитата из tsvetko/HTML5-Desktop-Notifications

Значок, который будет установлен в качестве пользовательского наложения для IE и уведомления, отображаемого из Chrome, работающего в Windows. Обратите внимание, что значок по умолчанию не требуется для Chrome, Safari и Firefox, но необходим для IE. Чтобы унифицировать реализации, значок должен всегда предоставляться для отображения уведомлений для всех поддерживаемых браузеров. Параметр icon может быть строкой с расположением значка, но также может быть и объектом со следующими свойствами: {"x16": значок только для IE. Значок должен быть 16x16px в формате *.ico, "x32": Значок для всех остальных браузеров (Chrome в Windows, Firefox). Размер значка должен быть 32x32px, поддерживаемые форматы: jpg/png/ico}. Еще раз - Safari и Chrome на MacOS не позволяют устанавливать значок. Для Firefox Mobile значок всегда является значком Firefox.

Попробуйте использовать значок размера 16x16px или 32x32px.

person megawac    schedule 06.04.2014
comment
Да, я пытаюсь, но не работает, и я обновляю свой вопрос - person 2dar; 06.04.2014
comment
Значок в вашем вопросе по-прежнему 30x30. - person megawac; 06.04.2014

У joschi70 есть рабочий ответ, но вы можете избежать операции замены следующим образом:

var img = window.location.origin + '/images/icon-30.png';

(Я предполагаю, что вы установили поле происхождения в манифесте.)

Отдельно вам, вероятно, следует использовать значок 32x32 для уведомлений (хотя программа запуска Firefox OS требует 30x30, вздох).

person Doug Reeder    schedule 21.05.2014

К сожалению, я тоже пробовал, но безуспешно. Кажется, это ошибка ОС Firefox с относительными путями в виде локальных файлов https://bugzilla.mozilla.org/show_bug.cgi?id=980567 .

person fharper    schedule 07.04.2014

Как упоминал Фредерик Харпер, это ошибка в FirefoxOS. Кажется, что работает, если вы создадите абсолютный путь следующим образом:

icon: window.document.URL.replace(/^(.*\/).*/, "$1") + "img/notification_logo.png"
person joschi70    schedule 12.04.2014

У меня была такая же проблема.

Я "подделываю" абсолютный URL для ссылки...

Я использовал эту функцию:

function getURLResource(path)
{
    // notice that index.html is the launchpath of your app
    var url = window.location.href.replace("index.html", "");

    return url + path;

};

// In your case you can do something like that:
var url = getURLResource("images/icon-30.png");

console.log(url);
// Will print something similar to this:
url = "app://<identifier>/images/icon-30.png";

Надеюсь, это поможет вам,

Луис Аугусто Вебер Меркадо.

person Luis Augusto    schedule 28.10.2014