高效地擷取XMLhttp對象2

查看了一下jQuery與dojo的源碼,發現IE7在window.location.protocol === "file:" 的情況下是不能用原生XMLHttpRequest的。不過它們兩者的代碼都有些瑕疵。dojo1.4的問題在於每次調用其_xhrObj都要檢測一遍要用何種方式產生XMLHttp對象,另,它犯了一個錯誤,瀏覽器是不支援ProgID為“Msxml2.XMLHTTP.4.0”的ActiveXObject對象,但支援它沒有列舉出來的ProgID為“Msxml2.XMLHTTP.6.0

日本幾個有名的部落格

檜山正幸のキマイラ飼育記404 Blog Not FoundIT戦記文殊堂素人がプログラミングを勉強するブログDays on the Moon0x廃棄階(xpath方面)by edvakf in hatena(canvas方面)Operaの備忘録のぺえじThousand Yearssecondlife(搞出http://let.hatelabo.jp/的強人)最速チュパカブラ研究會( JS3D高高手)nopnopの日記( 開發c4cc)brazil(new

解讀rightjs的繼承機制 1

繼承機制的出現,說明javascript已經到達大規模開發的門檻了。像java,為了應該其工業化,把設計模式發揮到臻美!有什麼東西能逼使javascript的代碼達到幾千甚至上萬行呢?除了架構類庫都協助工具輔助外,那就是遊戲這種奢侈的娛樂。光顯示介面,操作介面,評估系統也能細分。另一個像EXT的那樣利用純javascript取代HTML與CSS的功能來開發網頁,這也是很龐大的東西。龐大的東西就要模組化,雖然每一個模組未必都是一種類,但類是其不可或缺的組成元素。由於javascript的目的就是實

jQuery和MooTools的真正區別

文章目錄 引言Bill Scott Continues to Teach Me ThingsBill Scott在繼續教我一些事情Programming to the Pattern編程模式Trade-offs, But Big Benefits有所取捨,但追求最大利益 引言自己一直在用MooTools架構, 偶然看見這篇文章,作者是MooTools

V8引擎過度最佳化的一個bug

這個bug好像在3.0就存在,如今chrome7.0還沒解決,我不得不專門寫一篇文章來備忘一下了。 var expr = (new RegExp).compile('str'); alert(expr); // => undefined expr = new RegExp; expr.compile('str'); alert(expr); // => /str/ var expr = (new

回lifesinger 的國慶題目

原題目地址f = function() { return true; };g = function() { return false; };(function() { if (g() && [] == ![]) { f = function f() { return false; }; function g() { return true; } }})();alert(f()); // true or false ?在IE678中

元素的自訂屬性

<!doctype html><html> <head> <title>元素節點的自訂屬性 2 by 司徒正美</title> <meta charset="utf-8"/> <meta content="IE=8" http-equiv="X-UA-Compatible"/> <meta name="keywords" content="元素節點的自訂屬性 by 司徒正美" /&

CSSOM與getOffset函數

本來嘛,既然東西是IE發明的,應該一切都以IE為標準才是,不明白非得讓w3c那幫官僚認可才行。後知後覺的w3c唯一做的好事是第一次瀏覽器大戰後,讓世界分裂成兩大陣營進行冷戰。那個時間,蘋果被微軟打得快破產,為了避免壟斷嫌疑,微軟資助了蘋果,其中一個條件是讓Mac也用上IE,不過像safari,opera等小眾瀏覽器,早在第一次瀏覽器大戰中,就實現了許多網景與IE的方法。剩下的就是Firefox,以前是沒有什麼人理睬w3c這個傻冒的,也就Firefox誕生後開始大量實現(也可能在暗中制定)許多w3

valueOf與toString方法研究

最後群裡討論一些怪題,有高手就想歪腦想hack這兩個東西了,雖然最後失敗了,但這精神是非常值得鼓勵的。於是決定寫一篇文章專門來介紹它們。基本上,所有JS資料類型都擁有這兩個方法,null除外。它們倆解決javascript值運算與顯示的問題。先看一例://by 司徒正美 var aaa = { i: 10, valueOf: function() { return this.i+30; }, toString: function() {

dom Framework oop模組v2

正在重構整個架構,讓命名空間對象dom也出於同一個繼承體系下,就像mootools1.3的Type對象那樣。v2的目標大致如下:減少入侵性,只保留ECMA262v5及極個別最有用的擴充,lang模組將與核心模組合而為一模組即純對象,去掉沒有多大用處的protect方法,實現extend與include都能調用父方法去掉構造器中的智能調用父構造器的功能,以後調用父方法統一為this._super()增加不使用new關鍵字就能進行執行個體化(需要在設定物件中配置)//by 司徒正美

更好的瀏覽器判定

偶看歲月如歌的《Behind a Gist》一文,提到一個實現瀏覽器嗅探與版本判定合而為一。剛好,我想去掉我IE那個基本JS引擎的IE判定,於是寫了一個全新的東西。//by 司徒正美 var ver = top.opera ? (opera.version().replace(/\d$/, "") - 0) : parseFloat((/(?:IE |fox\/|ome\/|ion\/)(\d+\.\d)/.

Firefox:瀏覽器內建資料庫之路

文章目錄 SQL? 什麼SQL?SQLite的長處和短處美學和Web開發人員 IndexedDB 是一個正在制定中的用於瀏覽器中大資料量的結構化資料存貯和針對這種資料的高效能索引查詢的web標準。Mozilla已經向w3組織提交了收集到的大量的針對這個規範的重 要反饋資料 。 而且我們計劃在Firefox 4中實現這個規範。 我們告訴傑出的web開發人員們,我們要制定一個優秀的web上的結構化資料存放區API。

cloneNode在相容問題

我想這方法原本是不是IE的一個私人實現,它在IE下能實現完美的拷貝,另一個好像有點寄強,它與replaceNode命名方法相似。在IE下,cloneNode能複製節點的所有屬性(property),所有特性(attribute),所有自訂屬性(expando),與所有事件(事件),而標準瀏覽器則只能複製前面兩個。但很不幸,有時標準瀏覽器也分不清哪個是哪個,一旦把它當成自訂屬性就複舞曲不了。 var div = document.createElement("div");

valueOf與toString方法研究2

我是出於一個“邪惡”的目的來研究它們的,因為目的過於邪惡,所以研究必須更為深入才能成功。但天機不可泄漏,大家跟著我享受過程即可。我們先看兩題:var date = new Date();var date_string = date.toString();var date_value = date.valueOf();alert(date == date_string);alert(date == date_value); true, truefalse, falsetrue,

outerHTML與innerHTML

為了屏蔽IE與標準瀏覽器之間鴻溝,特別搞了這個,而且連XML也能用了。 if(!String.prototype.trim){ String.prototype.trim = function(str){ return this.replace(/^[\s\xa0]+|[\s\xa0]+$/g, ''); } } var

函數的範圍在各瀏覽器的混亂情況

if(true) { function someFunc(){ return 1; }; } else { function someFunc(){ return 2; }; } var notSomeFunc = function someFunc(){ return 3; }; alert(someFunc());FF輸出1,表現為存在“

擷取螢幕的PDI值

在設計擷取元素的精確樣式值第三版的過程中,需要有到PDI值。參考hax的函數,搞出這個: var DPI = window.screen.logicalXDPI || (function(){ var el = document.createElement("div"),s = el.style, root = document.documentElement s.margin = s.borderWidth =

全新的鏈式操作

這是每一個架構都遇到的問題,是使用原型擴充實現鏈式調用,還是把方法都綁定都一個對象中。如果使用原型擴充就意味著與其他所有走這條路的架構為敵,在這條路上有兩個令人望而生畏的對手——Prototype與mootools。如果把方法都綁定都一個對象中(我通常稱之為命名空間對象),方法調用起來就不那麼優雅,即使是jQuery,也只能讓實現節點的鏈式操作。但一個架構所能達到的高度,是由它的基礎設施決定。jQuery在它所涉及的方面算是做得盡善盡美了,但有沒有想到,mootools實現與此相同的功能,所需的

dom Framework實現XML的innerHTML、outerHTML操作

前端的XML真是不毛之地,要什麼沒什麼。下面是我架構對此處理的相關代碼: var rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, outerHTML = function(el,recursion){ switch(el.nodeType+""){ case "1": var array = [];

判定瀏覽器是否支援原生透明

原生透明判定是瀏覽器特徵偵探的重要一環,之後的許多特效就靠它選擇是原生透明還是濾鏡透明。自從IE9決定支援原生透明後,此判定複雜多了,jQuery對於它的判定隱含深意。下面是jQuery1.42的代碼: div.innerHTML = " <a href='/a' style='float:left;opacity:.25;'>a</a>"; // Make sure that element opacity exists // (IE

總頁數: 61357 1 .... 5854 5855 5856 5857 5858 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.