1. 程式人生 > >javascript高級程序設計學習小結3

javascript高級程序設計學習小結3

har cte url all view call 進行 擁有 發送請求

DOM2級只是在DOM1級的基礎上通過增加新方法和新屬性來增強既有類型,Node類型的變化: localName(不帶命名空間前綴的節點名稱), namespaceURI(命名空間URI或者null), prefix(命名空間前綴)

“DOM2級視圖”模塊添加了一個名為defaultView的屬性,其中保存著一個指針,指向擁有給定文檔的窗口。

DOM2級遍歷和範圍模塊定義了兩個用於輔助完成順序遍歷DOM結構的類型: NodeIterator 和TreeWalker。以及DOM中的範圍 var range = document.createRange(), 而要通過範圍來選擇文檔中的一部分,可以使用selectNode()或者selectNodeContent()

DOM3級同樣增強了既有類型,但也引入了一些新類型

isDefaultNamespace(namespaceURI): 在指定的namespaceURI是當前節點的默認命名空間的情況下返回true

lookupNamespaceURI(prefix): 返回prefix的命名空間

lookupPrefix(namespaceURI):返回給定namespaceURI的前綴

另外引入了兩個輔助比較節點的方法: isSameNode() 和 isEqualNode()

DOM3還針對為DOM節點添加額外數據引入的新方法 setUserData(key, value, function), 獲取數據getUserData(key);

確定元素大小

function getBoundingClientRect(element) {
    if (typeof arguments.callee.offset != "number") {
        var scrollTop = document.documentElement.scrollTop;
        var temp = document.screateElement("div");
        temp.style.cssText = "position:absolute;left:0;top:0;";
        document.body.appendChild(temp);
        arguments.callee.offset = -temp.getBoundingClientRect().top - scrollTop;
        document.body.removeChild(temp);
        temp = null;  
    }
    var rect = element.getBoundingClientRect();
    var offset = arguments.callee.offset;
    return {
        left: rect.left + offset,
        right: rect.right + offset,
        top: rect.top + offset,
        bottom: rect.bottom + offset
    };
}    

在處理文本框的值時,最好不要使用DOM方法,因為對value屬性所做的修改不一定能反映在DOM中。

文本框中選擇部分文本

function selectText(textbox, startIndex, stopIndex) {
    if (textbox.setSelectionRange) {
       textbox.setSelectionRange(startIndex, stopIndex);
    } else if (textbox.createTextRange) {
        var range = textbox.createTextRange();
        range.collapse(true);
        range.moveStart("character", startIndex);
        range.moveEnd("character", stopIndex - startIndex);
        range.select();
    }
    text.focus();
}

FormData為序列化表單以及創建與表單格式相同的數據(用於通過XHR傳輸)提供了便利。體現在: 不必明確在XHR對象上設置請求頭部,XHR對象能夠識別傳入的數據類型是FormData的實例,並配置適當的頭部信息。 CORS的基本思想是使用自定義的HTTP頭部讓瀏覽器與服務器進行溝通,從而決定請求或者響應是否是應該成功還是失敗。

跨域技術:(1)圖像Ping, (2) JSONP

為確保通過XHR訪問的URL安全,通行的做法就是驗證發送請求者是否有權限訪問相應的資源,有兩種方式可供選擇,1)要求以SSL連接來訪問可以通過XHR請求的資源;2)要求每一次請求都要附帶經過相應算法計算得到的驗證碼

javascript高級程序設計學習小結3