改后:
改之前:
安装Javaeye的Firefox插件0.3.3版时,发现了一个bug:标签过多时,对话框超出了屏幕的范围。反正在这没有情人的情人节也无聊,就研究一下看能改好不。
把插件的后缀由.xpi改成.zip解压,chrome目录下的javaeye_plugin.jar再解压,
进入content,找了一下发现:“添加收藏”那个对话框的配置文件就是bookmark-editor.xul,放置“标签”的地方就是这里:
<vbox hidden="true">
<hbox flex="1">
<label value="已有的标签" />
<label value="点击挑选" class="no-left-margin" disabled="true" />
</hbox>
<hbox flex="1" id="saved_tags">
</hbox>
</vbox>
关于Box:
https://developer.mozilla.org/en/XUL_Tutorial/The_Box_Model
以及bookmark-manager.js里的
_createTagLabel: function(tag) {
var lbl = document.createElement("label");
lbl.setAttribute("value", tag[0] + " (" + tag[1] + ")" );
lbl.setAttribute("onclick", "jeBookmarkManager.tagClick('" + tag[0] +"');");
lbl.setAttribute("class", "label-link");
lbl.setAttribute("tabindex", "-1" );
$('saved_tags').appendChild(lbl);
},
调用时:
for (i = 0; i < result.length; i++) {
this._createTagLabel(result[i]);
}
hbox里的元素是水平放置的,vbox里的元素是垂直放置的。难怪当我的标签太多时屏幕就显示不下了。
改成vbox里嵌套hbox就应该OK了。于是bookmark-editor.xul里修改如下:
<vbox hidden="true">
<hbox flex="1">
<label value="已有的标签" />
<label value="点击挑选" class="no-left-margin" disabled="true" />
</hbox>
<vbox id="saved_tags">
</vbox>
</vbox>
再改bookmark-manager.js:
_createTagLabel: function(hbox,tag) {
var lbl = document.createElement("label");
lbl.setAttribute("value", tag[0] + " (" + tag[1] + ")" );
lbl.setAttribute("onclick", "jeBookmarkManager.tagClick('" + tag[0] +"');");
lbl.setAttribute("class", "label-link");
lbl.setAttribute("tabindex", "-1" );
hbox.appendChild(lbl);
},
_createTags: function(result) {
var length = result.length;
var SIZE = 10;
var rows = 0;
var i = 0;
while(i<length){
var hbox = document.createElement("hbox");
for(;i<(rows+1)*SIZE;i++){
if(i>=length) break;
this._createTagLabel(hbox,result[i]);
}
$('saved_tags').appendChild(hbox);
rows += 1;
i = rows*SIZE;
}
},
调用的地方:
this._createTags(result);
OK了,效果如文章开头所示,当然其中经历的n次失败就不提了。
- 大小: 74.3 KB
- 大小: 69.4 KB
分享到:
相关推荐
自己打算找一个和javaeye一样的workpress代码高亮插件, 没找到, 于是把javaeye的拔了出来.
JavaEye博文JavaEye博文JavaEye博文JavaEye博文JavaEye博文
javaeye被黑 大家看看
JavaEye3.0开发手记
下载后直接覆盖掉麦库中的editor文件夹就可以了
JavaEye+技术架构,讲述java框架的应用
javaeye的信息提示框代码之css,application.js
MyEclipse快捷键与插件大全 - 入门技术 - New - JavaEye(1)
javaeye月刊2008年4月 总第2期.pdf
javaeye sourcecode 开源安卓客户端, JavaEYE
JavaEye新闻月刊_-_2009年3月_-_总第13期.
javaeye 论坛小测试 javaeye论坛小测试答案 javaeye论坛测试答案 这下你们就省事了。
1.支持火狐; 2.支持定义行的事件; 3.支持多样化表格属性列; 4.添加多种属性,优化后台速度。 后台代码示例工程,请看这里: http://renjie120.javaeye.com/admin/blogs/583388
javaeye 基于 android 平台的一个小应用,开了会对大家有好的启发。
讲述javaeye硬件架构以及软件架构的发展历史
android javaeye客户端 javaeye发布的
javaeye 新闻月刊 2010 4月
javaeye 新闻月刊 2010 12月