2012-02-17 36 views
2

打開我想要實現這個製作小組堅持,儘管頁面上點擊瀏覽器

  1. 錨面板到窗口小部件
  2. 使它堅持
  3. 它只會被點擊窗口小部件時出現或消失
  4. 或者可以通過點擊某個按鈕使其消失 我想實現這一目標,因爲我的插件完全位於面板中 Here是插件。
+0

當用戶點擊回內容文檔時,SDK中包含的當前面板模塊將不會保留 - 這是有意的設計限制。 您試圖實現的工作流程是什麼?您提到了ColorZilla - 您是否希望用戶能夠使用該顏色選擇顏色,然後將其添加到漸變色?3 – canuckistani 2012-02-17 16:15:12

+0

我希望用戶單擊頁面上的某個元素來渲染漸變效果。梯度效應將由面板中的發生器產生。我希望面板在元素呈現漸變時保留。 – GILL 2012-02-19 08:11:07

+0

正如我所說的,面板是有限的 - 當你點擊文檔時,面板會被硬連線消失。只是猜測,我想知道你是否可以在注入內容的iframe中顯示你的Gradiant UI?它可能會給你更多的控制權? – canuckistani 2012-02-22 07:36:39

回答

1

好吧,我看着這個多一點,我想了幾件事情道歉:

  1. IFRAME將無法工作,由於跨域安全問題。這是一個死路一條。
  2. 我花了太多時間回到你身邊,我一直在度假,我們住的地方每天只允許每天30分鐘的無線上網。

解決此問題的一種方法是直接從數據文件夾加載您的html,將其傳遞到內容腳本並將其注入頁面。事情是這樣的:

https://builder.addons.mozilla.org/addon/1043886/latest/

一些這方面的實用性原則:

  1. 用戶應該能夠輕鬆,顯然刪除的頁面注入內容。如果您需要保留注入內容的狀態,則需要在刪除DOM節點之前進行存儲。
  2. 注射應該可能只發生在用戶進行動作時,例如通過點擊小部件。這應該至少是默認的。
  3. 應該非常小心地處理任何數據,這些數據會按照通常的方式從注入內容發送回main.js加載項代碼。不要相信網絡上的數據!
+0

我可以讓這個iframe可以拖動嗎?並請根據最新的插件sdk功能查看您的答案。 API得到了改進。 – GILL 2012-04-23 17:36:10

0

你的意思是「noautohide」面板屬性?

看來你不能使用addon SDK訪問Panel對象,所以你可以創建自己的XUL Panel來設置noautohide = true。

+0

是的,noautohide是一個選項。但是,我的UI已經在HTML和CSS中開發。我想重新使用該代碼。使用XUL面板將需要我的代碼中的很多更改。我擔心類似colorpicker和jquery的庫在XUL面板中不起作用。 – GILL 2014-09-21 03:30:13