上一次提到,在報表軟件FineReport的JavaScript開發中,能夠訪問並處理的HTML DOM對象有windows、location、document三種。此次就繼續介紹後兩種,location和document對象。javascript
Locationhtml
Location 對象包含有關當前 URL 的信息。 Location 對象是 Window 對象的一個部分,可經過 window.location 屬性來訪問。java
location對象的經常使用屬性windows
hash 設置或返回從#開始的URL數組
host 設置或返回主機名和當前URL的端口號瀏覽器
hostname 設置或返回當前URL的主機名緩存
href 設置或返回完整的URL服務器
pathname 設置或返回當前URL的路徑部分cookie
port 設置或返回當前URL的端口號框架
search 設置或返回從?開始的URL(查詢部分)
1.location對象的reload()方法
reload()方法用於從新加載當前文檔
語法爲:
location.reload(false)
若是該方法沒有規定參數,或者參數是 false,它就會用 HTTP 頭 If-Modified-Since 來檢測服務器上的文檔是否已改變。若是文檔已改變,reload() 會再次下載該文檔。若是文檔未改變,則該方法將從緩存中裝載文檔。這與用戶單擊瀏覽器的刷新按鈕的效果是徹底同樣的。
若是把該方法的參數設置爲 true,那麼不管文檔的最後修改日期是什麼,它都會繞過緩存,從服務器上從新下載該文檔。這與用戶在單擊瀏覽器的刷新按鈕時按住 Shift 健的效果是徹底同樣。
Document
每一個載入瀏覽器的HTML 文檔都會成爲Document對象。Document 對象使咱們能夠從腳本中對HTML頁面中的全部元素進行訪問。
Document 對象是 Window 對象的一部分,可經過 window.document 屬性對其進行訪問
1.document對象的經常使用屬性
cookie 設置或返回當前文檔有關的全部cookie
title 返回當前文檔的標題
URL 返回當前文檔的URL
2.document對象的經常使用方法
2.1 close()方法
close() 方法可關閉一個由 document.open 方法打開的輸出流,並顯示選定的數據。語法:
document.close()
該方法將關閉 open() 方法打開的文檔流,並強制地顯示出全部緩存的輸出內容。
若是使用 write() 方法動態地輸出一個文檔,必須記住這麼作的時候要調用 close() 方法,以確保全部文檔內容都能顯示。
一旦調用了 close(),就不該該再次調用 write(),由於這會隱式地調用 open() 來擦除當前文檔並開始一個新的文檔。
2.2 getElementByID()方法
getElementById() 方法可返回對擁有指定 ID 的第一個對象的引用。語法:
document.getElementById(id)
參考完整代碼:
<html> <head> <script type="text/javascript"> function getValue() { var x=document.getElementById("myHeader") alert(x.innerHTML) } </script> </head> <body> <h1 id="myHeader" onclick="getValue()">這是標題</h1> <p>點擊標題,會提示出它的值。</p> </body> </html>
2.3 getElemenByName()方法
getElementsByName() 方法可返回帶有指定名稱的對象的集合。
該方法與 getElementById() 方法類似,可是它查詢元素的 name 屬性,而不是 id 屬性。
由於一個文檔中的 name 屬性可能不惟一(如 HTML 表單中的單選按鈕一般具備相同的 name 屬性),全部getElementsByName() 方法返回的是元素的數組,而不是一個元素。
getElementsByTagName() 方法可返回帶有指定標籤名的對象的集合。
getElementsByTagName() 方法返回元素的順序是它們在文檔中的順序。
若是把特殊字符串 "*" 傳遞給 getElementsByTagName() 方法,它將返回文檔中全部元素的列表,元素排列的順序就是它們在文檔中的順序。
傳遞給 getElementsByTagName() 方法的字符串能夠不區分大小寫。
2.4write()方法
write() 方法可向文檔寫入 HTML 表達式或 JavaScript 代碼。 可列出多個參數(exp1,exp2,exp3,...) ,它們將按順序被追加到文檔中。
語法:
document.write(exp1,exp2,exp3,....)
一般按照兩種方式使用 write() 方法:
一是在使用該方法在文檔中輸出 HTML,另外一種是在調用該方法的的窗口以外的窗口、框架中產生新文檔。
第二種狀況中,請務必使用 close() 方法來關閉文檔。
示例:
參考代碼:
Js代碼
<html> <body> <script type="text/javascript"> document.write("Hello World! ","Hello You! ","<p style='color:blue;'>Hello World!</p>") </script> </body> </html>