2011-05-20 39 views
3

我正在做一個擴展,獲取用戶當前選擇,使用它來更改popup.html並將其顯示給用戶。我希望能夠做一些事情:控制when popup.html彈出

  1. 在顯示完全生成的頁面之前,將顯示沒有內容的起始popup.html。我如何避免這種情況?
  2. 在某些場合(例如,當沒有選擇時),我不想讓popup.html顯示出來。

有什麼建議嗎?

回答

3

我認爲Page Action會更好地滿足您的需求,因爲您將能夠完全隱藏彈出式圖標。否則,你可以彈出體消失使用:

chrome.browserAction.setPopup({popup: ""}); 

關於你的第一個問題 - 有兩種選擇。如果彈出HTML保持幾乎相同的所有的時間(如模板),僅數據變化 - 您可以使用此網址參數傳遞的數據通過點擊彈出窗口前:

chrome.pageAction.setPopup(tabId, popup: {"popup.html?param=value&..."}); 

(在彈出你會需要解析url來獲取數據)。如果有幾種不同的彈出窗口樣式,則可以使用此方法在不同的文件之間切換。

如果彈出式html每次都完全不同,可以在用戶做出選擇時在後臺頁面中準備彈出式html,然後在彈出窗口打開時準備顯示html。

+0

根據Google的說法,我從來沒有考慮過頁面操作,因爲它們只能用於「僅適用於幾頁的功能」,這不是我的情況。我應該指定它,對不起。 – Tiago 2011-05-21 13:05:01

+0

chrome.browserAction.setPopup工作。謝謝! – Tiago 2011-05-21 13:30:15