2010-06-29 114 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