Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

系统字体配置、中文显示和输入法问题
回复
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#1

帖子 ptpt52 » 2008-11-07 14:21

Ubuntu8.10有个bug, 就是firefox浏览网页时,页面上的文本框宽度比正常的要宽,大约是正常的两倍
我临时用一种很变态的方法解决了这个问题
如下

第一步: 安装Greasemonkey插件,这个插件用来在网页中运行用户自定义的JS脚本
https://addons.mozilla.org/zh-CN/firefox/addon/748

第二步: 新建一个用户脚本,用来修改网页中的文本框宽度
我的脚本如下:

代码: 全选

var textboxes=document.getElementsByTagName("input");
var size;
for(i=0;i<textboxes.length;i++){
     size=0;
     size=textboxes[i].size;
     if(size>0)textboxes[i].style.width=size*9.3+"px";
}
问题算是临时解决了,用了一种很变态的方法^_^

另外
找到解决方法了,原来是pango库的问题,安装老版本的pango库即可
具体看该帖3楼
viewtopic.php?f=77&t=164059&start=0
上次由 ptpt52 在 2008-12-09 18:32,总共编辑 2 次。
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#2

帖子 ptpt52 » 2008-11-07 14:44

上面的脚本中,把 9.3 改为 8.5 会更好些,更接近原来的宽度
poet
帖子: 2841
注册时间: 2006-09-11 22:47
送出感谢: 0
接收感谢: 4 次

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#3

帖子 poet » 2008-11-07 15:34

你这个问题只在8.10中存在?

但我发现不论是 8.04还是windows版firefox,只要3.0以上都存在这个问题唉。
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#4

帖子 ptpt52 » 2008-11-07 16:07

poet 写了:你这个问题只在8.10中存在?

但我发现不论是 8.04还是windows版firefox,只要3.0以上都存在这个问题唉。
我只在8.10和7.10发现,window 和 8.04上显示的很好
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#5

帖子 ptpt52 » 2008-11-08 16:02

Greasemonkey插件 很强啊,我又写了个脚本,把 Google 给“黑”了

代码: 全选

// @include        http://www.google.*
// ==/UserScript==

var btnItems=new Array(
"Google 搜索",
"Google 很强大",
"Google 来搜一下",
"很好 很强大",
"很黄 很暴力",
"Google 强得实在没法说了",
"试试 中大奖了",
"你 好 强 哥 ! ",
"决对不会挂科",
"你还等什么?",
"心动不如行动",
"我知道很多的",
"就 是  她   了",
"You Go First, I Cover U",
"Go   Go  Go Go..",
"我是 Google 我怕谁",
"查户口,看人品了"
);
var items=btnItems.length;
var now= new Date();
var second=now.getSeconds();
var flag=second%items;
var btnG=document.getElementsByName("btnG");
if(btnG.length>0)btnG[0].value=btnItems[flag];

var minute=now.getMinutes();
  var flag0=minute%items;
if(flag0==flag){
    flag0=(flag+1)%items;
}
var btnI=document.getElementsByName("btnI");
if(btnI.length>0)btnI[0].value=btnItems[flag0];
把上面的脚本应用到http://www.google.* 上,打开Google看看,是不是像是被你“黑”了

有个性吧^_^
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#6

帖子 ptpt52 » 2008-11-09 8:19

修改文本框的代码要作一点修改,因为不是浏览每一个网页文本宽都会变长,好像当字符集为亚洲国家才会变长

代码: 全选

// ==UserScript==
// @name           textbox
// @namespace      textbox
// @include        http://*
// ==/UserScript==
var textboxes=document.getElementsByTagName("input");
if(document.characterSet.indexOf("ISO-8859-1")!=-1)textboxes=null;
for(i=0;i<textboxes.length;i++){
     size=0;
     size=textboxes[i].size;
     if(size>0)textboxes[i].style.width=size*8.5+"px";
}
增加了一行代码
if(document.characterSet.indexOf("ISO-8859-1")!=-1)textboxes=null;
当发现字符集是 ISO-8859-1 (西文) 时就不用修改页面文本框了,它是可以正常显示的。

如各位还发现有其他,贴出来分享一下
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#7

帖子 ptpt52 » 2008-11-10 12:07

有些文本区域也会变宽,所以我又修改了一下脚本

代码: 全选

// ==UserScript==
// @name           textbox
// @namespace      textbox
// @include        http://*
// @include        https://*
// ==/UserScript==
var textboxes=document.getElementsByTagName("input");
var textareas=document.getElementsByTagName("textarea");
if(document.characterSet.indexOf("GB")==-1&&document.characterSet.indexOf("UTF")==-1){textboxes=null;textareas=null;}
var zoom=8;
for(i=0;i<textboxes.length;i++){
     size=0;
     size=textboxes[i].size;
     if(size>0){
                if(textboxes[i].style.width=="")textboxes[i].style.width=size*zoom+"px";
                else textboxes[i].size=5*(size-2)/8;
               }
}
for(i=0;i<textareas.length;i++){
     size=0;
     size=textareas[i].cols;
     if(size>0){
                textareas[i].cols=5*(size-2)/8;
               }
}
这样应该会完美些
头像
GstarA1
帖子: 30
注册时间: 2008-11-06 18:51
来自: 湖南大学
送出感谢: 0
接收感谢: 0

Re: Ubuntu8.10的Firefox浏览网页时 文本框 宽度 很宽 太宽 我的解决方法

#8

帖子 GstarA1 » 2008-11-11 7:29

学习了
文本框太长不能忍受
二十岁是我人生最暗淡的时光,要什么没什么!

我一定会珍惜在这个时候爱上我的女孩!

因为她是用一生中最美好的时光来陪你度过最暗淡的时光!
回复

回到 “字体美化和中文支持”