2008年12月28日 星期日

HTML DOM 裡的window物件

在web page裡的DOM是這樣排列的 window->document->html 接下來就是 head跟body
而且window.open()這個mothod 不只會新開出一個視窗(或是頁面) 更會回傳被開出來的視窗的DOM tree的window物件
也就是如果用 var s=window.open("http://www.example.com/a.html"); 接下就可以用s.document."some object or some method"
去存取那個新開視窗下面的DOM物件
但是 雖說是可以存取 但還是有某些限制 例如same origin policy的問題
若是被開出來的視窗已經換到不同的origin(port domain protocol)去了 那就不能對這個視窗做存取的動作了

還有就是時間的問題 例如想要讀取新開出來的window的url 如果直接這樣寫
var s=window.open("http://www.example.com/a.html");
alert(s.location.href);
這樣會得出 about:blank
我猜想是因為 執行到 alert(s.location.href); 這一行時 http://www.example.com/a.html的DOM tree的資料結構還沒構建好
若是這樣用 setTimeout("alert(s.location.href)", 1*1000); 澤就可以正確顯示出 http://www.example.com/a.html 了

然而 被新開出來的視窗 也可以利用window.opener來取得開出此視窗的視窗的window物件(姑且稱為父視窗)
同樣得 有了window物件 也可以存取自己的父視窗下的DOM物件
當然 上述的情況都要符合same origin policy才行

2008年12月10日 星期三

fedora6下換目錄顏色&vim 註解顏色的方法

用pietty連進fedora core 6的時候 目錄跟vim 註解的顏色是深藍色的
而pietty的背景顏色又是黑色 所以很傷眼睛

不過只要在家目錄下加個設定檔 就可以換顏色了

要換vim的註解顏色 只要在家目錄下加個 .vimrc檔
裡面寫 highlight Comment ctermfg=darkcyan
這樣就可以把註解換成淺藍色

目錄顏色的話 有點複雜
可以參考這裡 http://andrew.sayya.org/blog/?p=65
如上網址所述 虛擬終端機的顏色設定檔是在 /etc/DIR_COLORS.xterm
虛擬主控台的顏色設定檔是在 /etc/DIR_COLORS
如果想要讓不同的使用者調整自己想要的顏色
在家目錄裡加個 .dir_colors檔
然後把/etc/DIR_COLORS裡的內容 copy過來

再把DIR 後面的顏色換成你想要的顏色就可以了

pdf限制列印

下載了一個限制列印的pdf檔案 想了各種方法要把它印出來
包括先轉成word後再印 或是用pdf破解軟體先破解密碼再印

在網路上有找到一個blog介紹pdf破解軟體 Free PDF Tools
http://blog.soft.idv.tw/?p=414
結果我GhostScript不能裝
就在一籌莫展之際 無意之中在檔案上按下右鍵
疑 有個列印的選項 按下去看看

一秒後 身後的印表機動了起來 = =
天阿 這樣就印出來了
冏 無言......