解决办法大约就是 greasemonkey处理页面生成需要的表单内容。但即便如此,登录以后的使用是个问题,也需要大量的修改,:(想想都可怕…
以下为引用内容:
上表中我标出两个绿底的,北京银行和中国银行。前者可以很好地支持Firefox,后者据同事说可以支持Firefox。这里只能对他们的网站设计和人员表示敬意。三个蓝底的银行,招商银行、建设银行、交通银行我都有帐号,是不能直接使用FireFox的。其中招商银行和交通银行的登录页面上有ActiveX控件,不能被Firefox所支持。而建设银行的页面,有一个Firefox所无法使用的软键盘。工商银行我虽然没帐号,但知道也不兼容FireFox。
随机挑选了几个大陆以外的银行,发现除了招商银行香港分行以外,都可以使用Firefox。”和国际接轨“的口号大家已经听烦了,从火车票的票价到大学生的学费都如此,下一个接轨的据说是北京的士的车费。但什么时候春风能吹到银行呢?
An alternative way of making the lastfm:// protocol work on firefox (all platforms)
Last changed on Aug 11, 2005, 18:05 Back to Top
This method allows you to manually make the lastfm:// protocol work on firefox:
Type in “about:config” in the location bar right click, select New –> String
name of string should be: “network.protocol-handler.app.lastfm”
value should be the path to your player.exe, eg “~/Last.fm/player”, on a PC “C:Program FilesLast.fm Playerplayer.exe”
看到此文BuG & bUg讨论,javascript拿href属性值时,返回的是(浏览出处理过的)绝对路径问题。其实图片 src 也有此问题。

alert(a1.src)
alert(a2.href)
alert(a1.getAttribute("src"))
alert(a2.getAttribute("href"))
alert(a2.getAttribute("href",2))
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
文章不错,转来。
英文原文 http://www.quirksmode.org/dom/innerhtml.html
中文译文(转录如下) http://my.opera.com/smile_bug/blog/show.dml/223699
w3cdom1:创建所有需要的元件
var x = document.createElement('table');
var y = x.appendChild(document.createElement('tbody'));
for (var i=0;i<50;i++)
{
var z = y.appendChild(document.createElement('tr'));
for (var j=0;j<50;j++)
{
var a = z.appendChild(document.createElement('td'));
a.appendChild(document.createTextNode('*'));
}
}
document.getElementById('writeroot').appendChild(x);
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
w3cdom2:只在第一次的时候创建,以后再需要就clone
var x = document.createElement('table');
var y = x.appendChild(document.createElement('tbody'));
var tr = document.createElement('tr');
var td = document.createElement('td');
var ast = document.createTextNode('*');
for (var i=0;i<50;i++)
{
var z = y.appendChild(tr.cloneNode(true));
for (var j=0;j<50;j++)
{
var a = z.appendChild(td.cloneNode(true));
a.appendChild(ast.cloneNode(true));
}
}
document.getElementById('writeroot').appendChild(x);
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
tableMethods: 使用W3C DOM的表格方法
var x = document.createElement('table');
var y = x.appendChild(document.createElement('tbody'));
for (var i=0;i<50;i++)
{
var z = y.insertRow(0);
for (var j=0;j<50;j++)
{
var a = z.insertCell(0).appendChild(document.createTextNode('*'));
}
}
document.getElementById('writeroot').appendChild(x);
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
innerHTML1: 把一串字符串连接起来
var string = '
| * |
‘;
document.getElementById(’writeroot’).innerHTML = string;
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
innerHTML2: 把字符串push到数组里,再把数组串成一个字符串
var string = new Array();
string.push('
| * |
‘);
var writestring = string.join(”);
document.getElementById(’writeroot’).innerHTML = writestring;
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
从原文网站上的数据来看,最后一种方法是最快的,前两种w3c的东东在IE/Win里不是一般的慢的。不过最快的方法在IE5/Win和IE5.x/Mac里不支持,需要一个quirksmode.js来让它间接的支持。
看了原文,除了了解这些方法的速度外,还了解了这几种不同的方法,算是一点点收获吧。
PS:innerHTML不是标准,不过好像目前的浏览器都支持的说。