編輯 JavaScript 的額外工具  
 

警告:這兒有許多功能是為 OmniWeb 除錯之用。我們把這些功能留下是因為可能對使用 OmniWeb 的 web 開發者有用,我們不認為這些程式碼是 "量產等級"。請自行承擔風險。

若您選擇 JavaScript 偏好設定裡的 顯示中控台 選項,無論何時您造訪使用 JavaScript 的網頁,JavaScript 中控台將彈出。中控台允許您觀察和溝通在瀏覽器視窗中執行的 JavaScript 解譯器。每頁都有它自己的解譯器,所以每個頁面都會彈出獨立的中控台。

中控台可用於觀看何種程式碼正在被解譯器執行。任何時候解譯器執行的 JavaScript 程式碼是藍色的,後面跟著的是其結果,是黑色的。此對程式碼中 <script> 區塊、事件掌控及 javascript: URLs — 的任何地方都有用。

若出現錯誤,然後取代結果,中控台將顯示錯誤訊息。比如,它可能顯示信息如下:

http://www.wherever.net/something/blah/mypage.html (block 3):2: document.myform.thingy has no properties
此信息描述程式碼在何處、何行出現錯誤。這個錯誤,比方說,乃發現在頁面 http://www.wherever.net/something/blah/mypage.html、第三個 <script> 區塊 (block 3) 的第 2 行。另一半的信息描述這個錯誤。以此為例,JavaScript 程式碼可能試著使用 document.myform.thingy 物件的資產,但那個物件並沒有任何資產可用。或許此物件是空的(null)。

您能利用此中控台的互動功能來發現那裡出錯。在中控台下方是個文字盒。您能輸入 JavaScript 程式碼至此處,按下 return,即便執行。它執行在此頁,所以您能使用它來看看網頁內的物件或改變事物。當您執行程式碼時,如同其它 JavaScript ,它會在中控台顯示藍色,黑色的結果或紅色的錯誤。您可用這個作些簡單的運算:

1 + 1
2
6 * 7
42

或是您能用它檢查您的 JavaScript 程式碼中的變數:

document.myform
[object Form]
document.myform.thingy
[no result]

您甚至能用它改變變數,或直接影響網頁:

document.myform.elements[2].value = "some text"
some text
document.myform.submit()
[no result]

如同您看見的,這是讓您與 JavaScript 解譯器互動的一個強大的方式。

記住若您離開網頁,即使是會晚些回來,那頁的解譯器便離開。當這個情況發生,中控台視窗仍存在,但您就是不能再執行任何程式碼。

上面的例子,您應注意到其中有一個敘述句回應 [no result]。這代表那個敘述句傳回 void。但 void 值無法直接顯示為文字,所以中控台寫下 [no result]。其它不易顯示為文字的值,像是陣列與物件,將用類似的顯示。比方說,若您輸入 document ,結果將為 [object Document]

您能藉由輸入更多的 JavaScript 來檢視物件,比如,輸入 document.location 以尋找文件的 URL。或是您可用 物件檢視器,object inspector。要檢查一個物件,只要在中控台內輸入敘述句,按下 return 鍵或是單響 評估檢視。這就像 評估 除了結果,若它是個物件,會顯示於物件檢視器中。

相關主題
JavaScript 偏好設定

目錄:編輯 HTML 原始碼
主目錄