Time of Update: 2018-12-04
下載:《IE8 開發技術概述》(目前只有英文版本, 英文標題是《Internet Explorer 8 Technology Overview for Developers》) 這個文檔簡明扼要得介紹了IE8裡面的新功能(Accelorator、Web Slices、Search)以及在渲染引擎(HTML,CSS, DOM, Javascript ... )、開發工具列(Developer
Time of Update: 2018-12-04
Windows 網路編程常用的API庫有Winsock,Wininet 和 Urlmon。Winsock 實現了基本的通訊端(socket)功能, 而 wininet 和 urlmon在winsock 的基礎上封裝了HTTP, FTP, WWW 的協議。 這篇文章 《Under the Hood:
Time of Update: 2018-12-04
瀏覽器通過<link type="application/rss+xml" ... > 來識別網頁中是否存在RSS feed <link href="rss.xml" type="application/rss+xml" rel="alternate" title="My Website's RSS Feed" />Web 開發人員常遇到的一個問題是:有時候需要用Javascript 來動態把這個加入到網頁中(見如下代碼),
Time of Update: 2018-12-04
IE8在預設情況下是使用全新的標準模式(Standard Mode)顯示引擎來顯示網頁。 如果網頁代碼還沒有標準化, 在IE8下可能會顯示不正常。 重寫網頁代碼使之標準化的工作量很大,需要長時間慢慢修複。 一個簡單快捷的方法就是讓IE8繼續IE7的顯示引擎來顯示你的網站,我們稱這箇舊的顯示引擎為相容視圖(Compatibility View) 。 在網頁裡面加入這行代碼就可以使IE8使用相容視圖:<meta http-equiv="X-UA-Compatible"
Time of Update: 2018-12-04
User-Agent字串是伺服器判斷Web用戶端的重要依據。 MSDN上有篇文章《Understanding User-Agent Strings》 很好,建議讀一下。 以下列出IE8在不同Windows版本以及不同渲染模式下的User-Agent 字串,便於參考。 IE8 on Windows Vista (相容視圖)Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0) IE8 on Windows Vista
Time of Update: 2018-12-04
用IE 瀏覽網頁,有時候會看到彈出對話方塊 “Internet Explorer無法開啟網站……已終止操作” (如)。 沒有錯誤資訊,讓人百思不得其解。 這篇IE的blog 對這個問題有詳細的講解。這個錯誤其實是由IE的 HTML Parser (解析器) 拋出的,發生在如下條件HTML 網頁正在被解析指令碼程式Javascript/VBsciprt 正在被執行指令碼程式試圖在HTML
Time of Update: 2018-12-04
國際標準RFC 2616(http://www.w3.org/Protocols/rfc2616/rfc2616.html)規定,用戶端向伺服器發起的並發HTTP串連數目應該有個上限。 如果是HTTP1.1串連, 最多不應該超過2個並發串連。 “Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given
Time of Update: 2018-12-04
如何理解Move參數中的const Source和var Dest總結作者:SkyJacker貢獻者:小峰,LiuXiaohttp://www.cnpack.orgCnPack IV QQ Group: 1309702007-01-31(轉貼請註明作者、出處且保持完整) Q:procedure Move(const Source; var Dest; Count: Integer);問一下這裡的參數Source和Dest沒有說明資料類型,那具體應該如何使用啊? var xx, yy:
Time of Update: 2018-12-04
首先介紹PEB和TEB概念: PEB(Process Environment Block,進程環境塊)存放進程資訊,每個進程都有自己的PEB資訊。位於使用者地址空間。 TEB(Thread Environment Block,線程環境塊)系統在此TEB中儲存頻繁使用的線程相關的資料。位於使用者地址空間,在比 PEB 所在地址低的地方。進程中的每個線程都有自己的一個TEB。調試的程式的時候,瞭解PEB和TEB往往對分析很有協助。 WinDBG中 !peb 和 !teb
Time of Update: 2018-12-04
IE 的命令列參數有幾個很不錯的功能,之前提到《使IE8以隱私保護模式啟動》以及《如何讓IE 啟動的時候不載入任何外掛程式》 都是命令列參數應用。 這裡再介紹一個命令列參數 -k <網址>,使用該參數可以使直接以全螢幕模式啟動瀏覽<網址>。 樣本:C:/Program Files/Internet Explorer/iexplore.exe -k
Time of Update: 2018-12-04
調試的時候想要知道當前進程裝載了哪些模組,每個模組被裝載的代碼位址區段是在哪個範圍,可以使用lm命令。 拿notepad為例,輸入lm命令可以發現: 0:001> lmstart end module name00830000 00858000 notepad (pdb symbols)
Time of Update: 2018-12-04
很多Windows API 函數並沒有用傳回值表達錯誤資訊, 而是讓調用者用API GetLastError() 來取得錯誤碼。 在偵錯工具的時候,我們看到API函數調用失敗,想看看GetLastError() 錯誤碼來瞭解為什麼失敗,可以用WinDBG命令 !gle 樣本: 0:000> !gleLastErrorValue: (Win32) 0 (0) - The operation completed successfully.LastStatusValue: (NTSTATUS)
Time of Update: 2018-12-04
IE的擴充HTML元素屬性contentEditable 可以讓該網頁元素進入編輯模式。 很多基於Web所見即所得 (WYSIWYG)文字編輯器,或者軟體中的所見即所得 (WYSIWYG)文字編輯器(比如郵件用戶端的郵件編輯器,聊天工具的輸入框)是在該功能的基礎上做的。 該contentEditable屬性已經被列入HTML5的草案。 程式碼範例: <div contentEditable="true">這是一個可以編輯的DIV
Time of Update: 2018-12-04
想對某個函數下斷點,但是記不清楚的函數具體的名字,這個時侯可以使用x命令來列舉所有的符號。 命令格式為:x [選項] 模組名字!符號匹配運算式 這裡的符號匹配運算式類似dos的檔案名稱匹配運算式,可以用*號和?號做萬用字元。比如我想列出user32.dll裡面所有的以GetWindowT開頭的符號,使用命令 0:016> x user32!GetWindowT*75f50f7b USER32!GetWindowTextA (struct HWND__ *, char *, int)75
Time of Update: 2018-12-04
Clickjacking (點擊劫持)是近期新發現的一種瀏覽器攻擊手段,危害極大。 駭客可以通過該方法控制使用者的瀏覽器點擊行為:使用者點選連結、按鈕或者網上任意的東西都可能被引導至其他地址。駭客可以利用"clickjacking"控制網路攝影機和麥克風,窺探使用者隱私,在使用者機器上植入病毒木馬。 IE8 針對Clickjacking 增加對Clickjacking攻擊的防禦功能。 只要你的伺服器的HTTP response 裡面加入X-FRAME-OPTIONS: DENY
Time of Update: 2018-12-04
IE8剛剛發布不久,目前的Windows SDK 或者 Visual Studio 2008 還沒有包含IE8最新的標頭檔,IDL 和lib 檔案等等, 需要去微軟的網站下載 。 微軟官方下載:Headers and Libraries for Windows Internet Explorer 8 ( http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bd98f760-1279-46f2-a4
Time of Update: 2018-12-04
Accept-Language 是HTTP 要求裡面的一個屬性,用於告訴伺服器瀏覽器可以支援什麼語言。 如果網站支援多語種的話,可以使用這個資訊來決定返回什麼語言的網頁 。 樣本: Accept-Language: zh-CN,fr-FR;q=0.5這裡zh-CN 是表示中文,fr-FR 是標記法語。 這是RFC1766(http://www.ietf.org/rfc/rfc1766.txt)定義的語言表示方式。 預設情況下,IE使用Windows default locale
Time of Update: 2018-12-04
IE 所有的曆史版本的版本號碼都可以在這裡查到: http://support.microsoft.com/kb/164539 最近的 IE8 RC1 的版本號碼(8.0.6001.18372) 還沒有加進去。 Version Product ----------------------------------------------------------------- 4.40.308 Internet Explorer 1.0 (Plus!
Time of Update: 2018-12-04
檢測瀏覽器(比如IE)的版本號碼是Web 開發最常遇到的問題之一, 以下總結幾種檢測IE版本號碼的方法: 通過Javascript解釋瀏覽器的 User-Agent 字串:function getInternetExplorerVersion()// Returns the version of Internet Explorer or a -1// (indicating the use of another browser).{ var rv = -1; // Return value
Time of Update: 2018-12-04
當你點擊網頁中Office 檔案的連結的時候(比如 http://www.example.com/a.doc/ ), (1) IE 要麼在瀏覽器視窗裡面直接開啟該檔案,(2) 要麼啟動Office 程式,在新的Office程式視窗裡面開啟。 下面解釋如何配置註冊表的BrowserFlags值來實現(1)或者(2)。 (1) IE