javascript進階程式設計學習小結3

來源:互聯網
上載者:User

標籤:使用   tin   prefix   names   發送   自訂   lookup   dom1   思想   

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.