2010-06-29 112 views
2

Delicious提供了一個優秀的Firefox插件來管理您的書籤。但是,他們不喜歡使用Delicious作爲私人書籤管理器的想法,因此默認情況下將「標記爲私人」複選框選項設置爲「未選中」。如何修改現有的Firefox擴展?

正如你可以想象的那樣,每次我想爲書籤添加書籤都會檢查這個盒子,因爲Delicious已經明確表示他們沒有計劃支持默認檢查作爲設置,所以很煩人,唯一的選擇是(1)容忍它和(2)修改插件,因此默認情況下複選框被選中。

我發現與複選框有關的兩個地方都在插件的「chrome」文件中。

第一個是:

<checkbox id="cb_noShare" label="&addybookmarks.sharing.label;" 
    accesskey="&addybookmarks.sharing.accesskey;" 
    bk_tabindex="-1" 
    oncommand="ybAddBkShare.removeTwitterFromSend();" 
    style="-moz-user-focus: ignore !important;"/> 

而第二個是

<!ENTITY addybookmarks.sharing.label "Mark as Private"> 
<!ENTITY addybookmarks.sharing.accesskey "P"> 
<!ENTITY addybookmarks.sharing.tipHeader "Sharing"> 
<!ENTITY addybookmarks.sharing.tipContent "Check this option if you want this to be a private bookmark"> 

但不幸的是,作出這些原因ALL我的插件的任何變化不加載,就好像它處於安全模式。

怎麼回事,我該如何解決它?

非常感謝

+0

我會做的第一件事就是顯示錯誤控制檯。 Ctrl shift J.這個靈魂讓你知道發生了什麼 – MatrixFrog 2010-07-04 15:37:55

回答

5

您應該修改複選框元素(在你的問題中的第一項)。您可以通過添加使其默認選中檢查=「真」作爲一個新的屬性標籤:

<checkbox id="cb_noShare" label="&addybookmarks.sharing.label;" 
accesskey="&addybookmarks.sharing.accesskey;" bk_tabindex="-1" oncommand="ybAddBkShare.removeTwitterFromSend();" 
style="-moz-user-focus: ignore !important;" checked="true"/> 

其他項是XML實體的定義。不要將字符串直接包含在複選框標記中作爲標籤屬性的值,而是定義一個XML實體並使用該實體,這是一種很好的做法。這允許翻譯多種語言的擴展,具體取決於用戶的語言環境,Firefox可以使用適當的語言顯示文本。

+0

+1,這個答案應該早就被接受了。 – 2011-01-07 21:21:23