Monthly Archives: 十一月 2008

FireFox扩展开发,保存文本文件。

var file = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("AChrom", Components.interfaces.nsIFile);
//.get("DeskP", Components.interfaces.nsIFile);
file.append("t.txt");

var strm = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
strm.QueryInterface(Components.interfaces.nsIOutputStream);
strm.QueryInterface(Components.interfaces.nsISeekableStream);
strm.init( file, 0×04 | 0×08 | 0×10, 420, 0 );
strm.write(str,str.length );
strm.flush();
strm.close();

function read(readfile)
{
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(readfile);
var is =
Components.classes["@mozilla.org/network/file-input-stream;1"]
.createInstance(Components.interfaces.nsIFileInputStream);
is.init(file, 0×01, 00004, null);
var sis =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
sis.init(is);
var output = sis.read(sis.available());
alert(output);
}
read("C:\test.txt");

FireFox的标签页操作

[转]
关闭当前标签页:
var tab = gBrowser.mCurrentTab;
if(tab) gBrowser.removeTab(tab);
关闭左边标签页:
var tab = gBrowser.mCurrentTab.boxObject.previousSibling;
if(tab) gBrowser.removeTab(tab);
关闭右边标签页:
var tab = gBrowser.mCurrentTab.boxObject.nextSibling;
if(tab) gBrowser.removeTab(tab);
复制当前标签页:
var oldHistory = gBrowser.webNavigation.sessionHistory;
gBrowser.selectedTab = gBrowser.addTab("about:blank");
var newHistory = gBrowser.webNavigation.sessionHistory;
newHistory.QueryInterface(Components.interfaces.nsISHistoryInternal);
for (var i = 0; i < oldHistory.count; i++) { newHistory.addEntry(oldHistory.getEntryAtIndex(i, false), true); }
if(oldHistory.count) gBrowser.webNavigation.gotoIndex(oldHistory.index);
下一个标签页(与ctrl+pagedown同):
gBrowser.mTabContainer.advanceSelectedTab(1,true);
上一个标签页(与ctrl+pageup同):
gBrowser.mTabContainer.advanceSelectedTab(-1,true);
重新载入其它标签页:
var browsers = gBrowser.browsers;
var i = 0;
var l = browsers.length;
var x = gBrowser.mCurrentTab._tPos;
for(; i < l; i++)
if(i != x) try { [...]

无语的QQ取回密码

一个很久QQ号有一段时间没有登录了,然后通过取回密码,好在资料还记得,于是填写一大堆验证资料
为了安全嘛。。。。记下这些资料不容易啊~
然后,开开心心地收到邮件了

根据您于 [2008-11-16 00:32:07] 提交的请求,本邮件将引导您重新设置 [2******0] 的QQ密码。
如果您确认本次“重新设置密码”的请求是您自己提交的,请点这里完成重设操作(本链接仅一周内、一次有效)。

点击重设链接,输入QQ号,输入新密码,然后满怀期待的确认…

哇塞,这安全强度够大啊,还得在常用IP段上才能修改….可惜我家是ADSL啊….
只好说…这设计有够抽的…

CSS Reset,CSS初始化处理

由于各种浏览器对元素默认属性的定义不同,可能导致页面所有差异,于是,CSS Reset出现了。
对各种元素的CSS属性进行重定义,达到各种浏览器无差异的效果。

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
form,fieldset,input,textarea,p,blockquote,th,td{
padding: 0;
margin: 0;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

fieldset,img {
border: 0;
}

address,caption,cite,code,dfn,em,strong,th,var {
font-weight: normal;
font-style: normal;
}

ol,ul {
list-style: none;
}

caption,th {
text-align: left;
}

h1,h2,h3,h4,h5,h6 {
font-weight: normal;
font-size: 100%;
}

q:before,q:after {
content:'';
}

abbr,acronym {
border: 0;
}

各种浏览器CSS选择符的支持情况

加入了Chrome的支持情况
包含:Safari,Chrome,FireFox3,FireFox2,FireFox1.5,Opera9,IE8,IE7,IE6
另外还有MAC OS支持情况
很全面了,厉害!很好很强大~~

猛击这个链接看详情:
Google Chrome Browser CSS Selector Support