報表軟件JS開發引用HTML DOM的location和document對象
Posted on 2016-04-25 14:32 FineReport——報表技術領跑者 閱讀(128) 評論(0) 編輯 收藏 所屬分類: Java報表技術知識上一次提到,在報表軟件FineReport的JavaScript開發中,可以訪問并處理的HTML DOM對象有windows、location、document三種。這次就繼續介紹后兩種,location和document對象。
Location
Location 對象包含有關當前 URL 的信息。 Location 對象是 Window 對象的一個部分,可通過 window.location 屬性來訪問。
location對象的常用屬性
hash 設置或返回從#開始的URL
host 設置或返回主機名和當前URL的端口號
hostname 設置或返回當前URL的主機名
href 設置或返回完整的URL
pathname 設置或返回當前URL的路徑部分
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)
參考完整代碼:
<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() 方法來關閉文檔。
示例:
參考代碼:
<body>
<script type="text/javascript">
document.write("Hello World! ","Hello You! ","<p style='color:blue;'>Hello World!</p>")
</script>
</body>