2016-03-03 103 views
1

我有一個Chrome擴展。在其後臺腳本中,我想提供一個confirm()對話框來接受來自用戶的(確定/取消)輸入。這樣做沒有問題。鉻擴展後臺腳本確認消息標題

唯一的問題是,郵件的標題顯示爲「chrome-extension:// 32_char_extension_id」。不是我想看到的。 另一方面,在safari擴展名(global.html)中,標題顯示爲「擴展名」。 很高興在Chrome擴展中具有相同的功能。

任何想法,如果有一種方法可以在消息框中看到擴展名,而不是ID。 ()是不是推薦的解決方案提示用戶輸入(因爲它是一個阻塞調用)。但這似乎是一個更快的解決方案,爲什麼我「我做錯了什麼?」我知道確認()是不推薦的解決方案,在做。如果我可以通過簡單的confirm()來解決這個問題,那麼現在會很棒。

回答

-1

可能你應該使用chrome.notifications API來顯示對話框讓你問在這種情況下,用戶的東西,可以顯示其通過如下面的代碼有兩個按鈕通知:

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感謝您的迴應。我會試試這個。可以在後臺使用此通知。 Xan指出通知消失了嗎? – Feru

+0

@Yoichiro看起來像這些通知是桌面通知。對 ?我在瀏覽器本身尋找一些東西,最好是一個模式對話框,可以定製這些通知來達到這個目的 – Feru

0

您不能更改window.confirm()標題,它是用於反釣魚攻擊。

您應該試試其他方法,如Bootstrap Modal

+0

感謝您的回覆,這需要將JQuery文件添加到Chrome擴展中,對吧? – Feru

+0

我認爲Bootstrap Modal無法使用,因爲在這種情況下,沒有任何顯示頁面,所以不會顯示背景頁面 –

+0

@YoichiroTanaka,對不起我沒有看到前一篇文章中的「背景腳本」,但是,由於作者以前使用'window.confirm()',我認爲其他任何UI都應該這樣做 –