2016-03-03 2 views
1

У меня есть хром расширение. В своем фоновом сценарии я хочу представить диалоговое окно confirm() для ввода (Ok/Cancel) ввода от пользователя. У вас нет проблем с этим.хром расширение фон сценарий подтверждение название сообщения

Единственная проблема заключается в том, что заголовок сообщения отображается как «chrome-extension: // 32_char_extension_id». Не то, что я хочу видеть. С другой стороны, в расширении сафари (global.html) заголовок отображается как «Имя расширения». Было бы неплохо иметь такую ​​же функциональность в Chrome Extension.

Любая идея, если есть способ увидеть имя расширения в поле сообщения вместо идентификатора. Что-нибыдь я делаю неправильно?

Я понимаю, что confirm() - это не рекомендованное решение для запроса ввода пользователя (поскольку это блокирующий вызов). Но это похоже на более быстрое решение для того, что я " я делаю. Другие альтернативы Я смотрю на использование ящиков сообщений JQuery, но если я смогу решить эту проблему с помощью простого подтверждения(), на данный момент это будет здорово.

ответ

-1

Возможно, вы должны использовать API-интерфейс chrome.notifications, чтобы отобразить диалог, так что вы попросите пользователь что-то в этом случае вы можете показать уведомление, которое имеет две кнопки, как следующий код:.

chrome.notifications.onButtonClicked.addListener((notificationId, buttonIndex) => { 
    // If buttonIndex == 0, Ok button clicked. 
    chrome.notifications.clear(notificationId, wasCleared => { ... }); 
}); 

chrome.notifications.create("notificationId", { 
    type: "basic", 
    iconUrl: "SOME_ICON_PATH", 
    title: "YOUR_EXTENSION_NAME", 
    message: "SOME_MESSAGE", 
    buttons: [ 
     { 
      title: "Ok" 
     }, 
     { 
      title: "Cancel" 
     } 
    ] 
}); 

конечно, вы должны получить «уведомление» разрешения от пользователя.

+0

Кроме того, уведомления за несколько секунд исчезают. – Xan

+0

@yoichiro спасибо, что ответим. Я попробую это. Может использовать это уведомление в фоновом режиме. И исчезает ли уведомление, как указывал Ксан? – Feru

+0

@Yoichiro Похоже, что эти уведомления являются уведомлениями на рабочем столе. Правильно ? Я смотрю что-то в самом браузере. Предпочтительно модальный диалог. Могут ли эти уведомления настраиваться для достижения этого. – Feru

0

Вы не можете изменить название window.confirm(), оно предназначено для антифишинга.

Вы должны попробовать другие подходы, такие как Bootstrap Modal

+0

спасибо за ответ.Это требует добавления файлов JQuery к расширению chrome. 0? – Feru

+0

Я думаю, что Bootstrap Modal не может использоваться, потому что в этом случае ничего не отображается. Фоновая страница никогда не отображается. –

+0

@YoichiroTanaka, извините Я не заметил слова «background script» в предыдущем сообщении, однако, поскольку автор использовал 'window.confirm()' в прошлом, я думаю, что любой другой пользовательский интерфейс должен делать то же самое –

Смежные вопросы