嗯... 簡單說因為想要做一個方便好用的 "MT It!" Web Panel, 所以做了一些關於 Web Panel 中 JavaScript 的實驗, 不過遇到了一些問題... 有經驗的高人幫忙解惑一下吧~ ^^;
如果要在 Web Panel 中控制主視窗畫面的網頁, 換網址時可以用這樣的東西:
代碼:
window._content.location.href = "http://140.117.199.85/bclog/;
查閱文件知道 window._content 是視窗內容的 Reference, 物件形態是 object Window... 可以用 location.href 一點也不意外, 不過接下來就是問題了:
在WebPanel中, 這玩意是只能寫不能讀的嗎 @@....總之, 只要我試圖讀取該值, 就會出現 JavaScript 錯誤,說「
錯誤: uncaught exception: P~~~~ Location.href」。中間 P~~~ 啥的是亂碼... 有空的人, 可以試試看這樣會不會成功:
代碼:
alert(window._content.location.href);
成功的話講一聲, 我再回去自己跟他奮鬥 >_<
測試環境在 Windows XP Home Edition (SP1 installed)
MozillaFirebird 0.7 (中文版)
Mozilla 1.6 (英文板, 這一樣是在 sidebar 裡測試的, 錯誤訊息是「Error: uncaught exception: Permission denied to get property Location.href」)
如果因為什麼原因不能讀,
不知道有沒有辦法獲取在主視窗部分選取的文字... (如果一定要用 XUL 我就苦惱了...)
下面是可以貼上就用的測試程式
代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Web Panel 測試</title>
<script language="javascript" type="text/javascript">
function showOpener(){
var winObj = window._content;
//測試寫入
winObj.location.href="http://140.117.199.85/bclog/";
//測試讀出
alert(winObj.location.href);
}
</script>
</head>
<body onload="showOpener()">
(記得叫出 JavaScript 控制台)
</body>
</html>