2017-05-31 191 views
0

我正在編寫一個Chrome擴展,它將在系統通知彈出時執行一些操作。具體而言,我想關閉它們。瀏覽器通知Chrome瀏覽器擴展JS事件+修改方法

例如:「還原頁面?」通知: restore_pages_picture

我的清單文件有什麼特別有趣,這是我的活動頁面:

function anyAlarmHandler (Alarm anyAlarm) { 
    // For now, just clear any alarm when one pops up. 
    chrome.alarms.clear(anyAlarm); 
} 

chrome.alarms.onAlarm.addListener(anyAlarmHandler); 

但預期不會清除系統通知。

我懷疑我在監聽錯誤的事件,系統通知實際上並未被視爲警報。但'通知'API沒有捕捉通知的任何內容。

我已經看了this question關於捕通知,這是可能的工作,但它並不具有以下幫助:

  • 我需要趕上由瀏覽器本身,而不是其他擴展創建的通知(本可能無關緊要,我不確定)
  • 我需要修改該通知。改變文本,關閉它,不管。

我試過在上面的鏈接中使用代碼,並在通知發生時彈出一些對話框(以測試該解決方案是否適用於檢測瀏覽器通知),但即使這樣也行不通。我希望我只是在某些API中缺少一些方法/事件偵聽器,但我似乎無法在任何地方找到它。任何幫助表示讚賞。

+1

「還原頁面?」不是通知,也不是警報,AFAIK檢測它的唯一方法是檢查是否在瀏覽器啓動時只打開新的標籤頁,然後檢查是否在很短的時間窗口中打開了多個標籤頁。 – wOxxOm

+0

@wOxxOm那真讓人沮喪。所以,說我這麼做......你知道一種方法來控制那個盒子嗎?例如,關閉它。 –

回答

0

您無法檢測或覆蓋任何Chrome自己的UI彈出窗口。

只有另一個本機應用程序可能與它們進行交互(例如模擬點擊)。

缺少修補Chrome(內存中或磁盤)的問題,您將無法更改措辭。