Time of Update: 2018-12-07
擷取計算後的元素樣式,IE有currentStyle,而標準瀏覽器用getComputedStyle。IE9後也支援getComputedStyle了。發現以前寫的css方法不好用了,在chrome中返回的結果與其它瀏覽器不同。重現如下<!DOCTYPE HTML><HTML> <HEAD><meta charset="utf-8" /><title>css opacity</title><style
Time of Update: 2018-12-07
我們知道擷取元素的實際寬高在IE中可以使用currentStyle屬性。但如果沒有顯示的去設定元素的寬高,那麼使用該屬性將擷取不到,擷取的值為auto。如下<div>abcd</div><script>var div = document.getElementsByTagName('div')[0];alert(div.currentStyle.width);alert(div.currentStyle.height);</script>IE6/7
Time of Update: 2018-12-07
使用jQuery刪除事件(或稱解除事件綁定)有三個函數:unbind、die和undelegate。這三個方法都依賴於未公開的jQuery.event.remove(後續使用.remove簡寫)。此為刪除事件的核心方法。 .remove 所作的事情與上一篇提到的.add 剛好相反。且與.add中的處理代碼一一對應,即 .add 中有多少種添加事件的方式.remove就有對應的刪除方式。 .remove 定義了四個參數 elem, types, handler, pos
Time of Update: 2018-12-07
為了敘述簡單,這裡僅拿width樣本。情景一,元素style屬性設定了width/height<div style="width:100px;">test<div><script>var div =
Time of Update: 2018-12-07
click方法可以用來類比使用者點擊。有的瀏覽器中所有元素都具有click方法,有的瀏覽器則沒有。如下 IE6/7/8/9/Opera12/Firefox5/Chrome21Safari5INPUT[type=text]INPUT[type=password]INPUT[type=radio]INPUT[type=checkbox]INPUT[type=button]INPUT[type=submit]INPUT[type=image]INPUT[type=hidden]INPUT[type=r
Time of Update: 2018-12-07
前些天記錄了java中for迴圈取map,發現用jquery的each一樣可以取map(我稱之為js的map,不要較勁),且順序和map中順序一致。廢話少說,看代碼var map = {地名: ["北京","天津","上海"],民族: ["漢族","藏族","維吾爾族"]};$.each(map,function(key,values){console.log(key);$(values).each(function(){console.log("\t" +
Time of Update: 2018-12-07
jQuery的serialize模組中有個r20正則var r20 = /%20/g,jQuery.param方法中會將所有的"%20"轉成"+",即提交資料前,資料中如果包含空格,那經過encodeURIComponent後,空格會轉成"%20"encodeURIComponent(' ') === '%20'; // true最後需要將"%20"轉換成"="再Post提交。這樣背景程式接受到的才是真正的空格。 關於
Time of Update: 2018-12-07
Facade Pattern
Time of Update: 2018-12-07
queue模組在jQuery中分在Effects中,搜尋整個庫會發現queue也僅在特效模組effects.js中被使用。jQuery抽取出獨立的命名空間給queue,說明除了內部Effects模組使用外,用戶端程式員可以充分發揮聰明才智使用queue來構建非動畫API。queue模組向外開放的API分別是掛在$上的$.queue、$.dequeue、$._queueHooks(僅內部)掛在jQuery對象上的有queue、dequeue、delay、clearQueue、promise 按照j
Time of Update: 2018-12-07
文章目錄 $.when的實現 Deferred對象是由$.Deferred構造的,$.Deferred被實現為簡單原廠模式。它用來解決JS中的非同步編程,它遵循 Common Promise/A 規範。實現此規範的還有 when.js 和
Time of Update: 2018-12-07
最近我的電腦C盤空間滿了,在清理磁碟空間時發現C盤2個大檔案,分別有4G和3G大。一個是pagefile.sys,一個是hiberfil.sys。如下 “hiberfil.sys”是系統休眠檔案,其大小和實體記憶體一樣大,它可以刪除(但不能手動刪除),只要在“控制台”中開啟“電源選項”,之後在電源管理對話方塊的“休眠”標籤下,去掉“啟用休眠”前的勾,休眠檔案就會自動刪除。 “pagefile.sys”是頁面分頁檔(即虛擬記憶體),這個檔案不能刪除,不過可以改變其大小和存放位置:右擊“我的電腦
Time of Update: 2018-12-07
效能最佳化與故障排除百日談(3)-監控-使用DBCC命令監控日誌空間的使用方式 其實說到日誌,那就得有很多的話題了,可以這樣麼說,對已日誌的合理的規劃和深入的研究,對效能起著至關重要的作用,甚至可以說是“成也日誌,敗也日誌”。也許有朋友說這話有點言過其實了,但是事實卻是如此,只是我們平時沒有太注意這些,因為日誌太司空見慣了,但是對已這麼一個常見的東西,我們到底對其內部機制與原理掌握多少,對已日誌引發的儲存,管理,效能問題等如何解決,確實一門大的學問。備忘:大家可以去看看我們錄製的“日誌故障排除與
Time of Update: 2018-12-07
代碼大概是這樣的var status = true;function changeSel() {if (status == false) {// do something} else {// do other thing}}有一個函數會將status設定為false,但後來每次調用changeSel都只進到else裡的代碼。 後發現status是window的一個屬性,即全域變數。它用來設定狀態列的文本提示,字串類型。多數瀏覽器都預設沒有開啟改功能。Firefox裡可以手動開啟,1,地址欄輸入
Time of Update: 2018-12-07
公司用的是Win7,家裡用的Mac OSX,又有iPad,iPhone。通過iClond可實現Safari的書籤同步。這樣在任何一個裝置上添加了一個網址到書籤裡,其它裝置都能保持更新。 首先需要做的是註冊一個apple id。 Win7下需要安裝一個iClond控制台,這裡提供下載。雖然一直下一步就哦了。 安裝完,使用apple id登陸的介面如下 Mac
Time of Update: 2018-12-07
文章目錄 重現步驟:結果:原因:解決方案 做編輯器開發時碰到的 重現步驟: 1. 將游標點到文本“some text”的末尾(想在“some text”後插入內容) 2. 將游標點到“輸入欄位”的文字框 3. 點擊“插入HTML”按鈕 結果: 1. IE6-10中每次都在編輯器最前面插入內容 2. Firefox/Chrome/Safari中每次都在編輯器後面插入內容 原因:應該是IE bug,
Time of Update: 2018-12-07
介紹資料庫等待隊列(上)本篇文章的目的就是為協助DBA,開發人員以及其他與使用資料庫的人員闡述什麼是資料庫等待隊列。效能最佳化的已經變得越來越重要了,隨著SQL Server 2005推出之後,裡麵包含了很多的動態管理檢視(DMV)和函數,所以,我們很有必要如何使用這些動態管理對象來協助我們進行效能的診斷與排除。對於效能而已,我們一個最可以感知的現象就是:SQL
Time of Update: 2018-12-07
文章目錄 hotnode安裝hotnode使用 使用node程式開發伺服器端程式時,一個典型的問題就是每次修改js檔案後都要重新發布一次。如下是server.jsvar http = require('http');var server = http.createServer(function(request, response) {var repsHeader = {"Content-Type":
Time of Update: 2018-12-07
索引已經是效能最佳化中大家常常提到而說到的問題,關於索引的很多的概念和解析,我們網站的索引進階系列文章已經做了比較全面的講述,我們這裡就不在重複了。我們都知道,對於索引而言,我們會面臨兩個問題:1.是否建立了合適的索引2.如何維護和診斷現有的索引對於第一個問題,這確實不是三言兩語可以講清楚的,因為這首先需要對索引的知識掌握的非常清楚,而且還要知道建立索引的表中的資料的使用的情況(如讀寫的頻率等)。我們會在之後的“收費閱讀”版塊,對索引進行深度的剖析,希望大家關注。對於第二個問題,我們首先就要清楚
Time of Update: 2018-12-07
先看下重現代碼1, gb2312.html 該檔案編碼為gb2312<!DOCTYPE html><html> <head><title></title><meta charset="gb2312"/><style>p {color: red;}</style> </head> <body><button onclick="loadJS('utf8.js', 'utf-8
Time of Update: 2018-12-07
文章目錄 一、安裝node二、安裝grunt命令列工具grunt-cli三、安裝grunt及其外掛程式