瀏覽器中的原始碼分析功能

2022-07-20 15:57:11 字數 2705 閱讀 5170

前言:我們一直在用瀏覽器,你是否真正玩過他?no!

在ie瀏覽器中,開啟乙個網頁,右擊選單欄中有乙個檢視源**功能,不過這個源**太長了,不易分析。

之後的瀏覽器增加了一項功能,叫做審查元素功能。

在谷歌瀏覽器中,開啟乙個網頁,右擊選單欄中有一項是檢查;在搜狗瀏覽器中,開啟乙個網頁,右擊選單欄有一項是審查元素;其他瀏覽器筆者未嘗試過。

一、審查元素簡介

右側出現審查元素介面,也就是網頁的

html

**元素

其中包括以下模組

elements(元素

/標籤

):檢視頁面中所有的

html

元素,左面是用樹形結構展示的

html

標籤,滑鼠移到上面會在頁面中顯示這個標籤的位置、實際長寬等。右面是每個元素的

css屬性,繼承關係等等,還有

dom屬性、繼承關係、繫結的事件。

resource(資源

):顯示頁面中用到的所有資源,頁面、、樣式表、指令碼等。還有本地儲存、

cookie.

network(網路

):顯示所有的網路事件,你需要先開啟開發人員工具,切換到這個選項卡,之後再重新整理頁面才會有顯示。

這裡會顯示每個檔案的資訊、由何處觸發這個網路活動、

報頭等等

.sources(源**

):用於對js

進行除錯,左面有所有

js**的列表,中間是**區域

(下面有個格式化**的功能

),右邊是斷點、觸發器、呼叫棧等等

.timeline(時間軸

):同樣需要先開啟這個選項卡,點選下面的

`開始捕捉

`才會有顯示。

這個選項卡會顯示頁面中的一切時間,包括執行指令碼、網路活動、頁面渲染等等。

而且會很詳細的顯示每個活動占用的

cpu和記憶體

.可以利用這些資訊對網頁進行優化

.profiles(報告

):可以擷取一段時間的

cpu使用情況報告、

css類使用情況報告

(用來剔除未用到的

css)

、堆記憶體快照

(用於優化

js指令碼和

dom結構

).audits(審計

):讓chrome

給你的網頁提出一點建議,一般是關於哪些**不必要、沒用到

.console(控制台

):這是乙個

js控制台,你可以直接執行

js**,對頁面進行操作

.二、利用審查元素修改網頁

元素標籤上展示了網頁上元素的

html

原始碼,隨著你的滑鼠在**上移動,左側會顯示你所指向的元素控制項。

最基本的是head乙個網頁的總設定,如下所示

title

設定標題。

可以修改其中的文字改變標題。

body是整個網頁的布局。

左圖所示,為右上角選單欄的**,其中我們可以設定的選單:糯公尺、新聞、地圖等。並且分別對應著乙個連線,我們可以對其修改。

例如下圖所示:

注意:此種修改只能在本地修改,當然修改不了**本身。

resource(資源)

network

檢視當前執行的網路事件,下面有列表,點選

sizeinitiator(即發起程式,即資源的**位址)如圖2

所示,有很多斷點,可以快取完第一段後點到第二段,然後他就就快取第二段了,再點到第三段,就快取第三段了。

四、網頁程式設計學習

網頁的幕後都被我們看到了,我們也可以利用它做一些小外掛程式,比如賬號自動登入的外掛程式,我們知道網頁中的元素,也就知道本身這些元素的

id號就可以通過程式去填充它,一些迅雷會員破解等內容的實現也是基於此的,利用軟體網頁控制項的

id號來去操作它。

下面是一篇介紹自動登入外掛程式製作的思路。

文章格式整理不太好可以參照word版本

寄語:**的力量是偉大的,要有一顆善於發現的眼睛,世界才會被你掌握,極客的思想。

谷歌瀏覽器的原始碼分析 8

上一次說到處理wm char訊息,當使用者每鍵入乙個字元時,萬能連線框就會去進行一次查詢的過程,然後把智慧型提示資訊顯示出來。說到autocompleteedit handlekeystroke函式的操作,那麼它為什麼需要凍結這個函式的使用呢?現在就來分析這部份的內容。如下 scopedfreeze...

谷歌瀏覽器的原始碼分析 30

上次說到函式winhttpreaddata 通過上面的函式可以看到,當資料接收完成後,就會呼叫docallback函式處理接收到的資料。docallback函式的 如下 看到這裡又是乙個 函式c run的通知,它是呼叫開始建立這個連線時設定的 物件。如果是http請求,那麼這個請求 函式是物件url...

谷歌瀏覽器的原始碼分析 32

上一次說到在類resourcedispatcher會收到接收http資料訊息,並進一步處理資料。那麼resourcedispatcher類又把接收到的資料發往何處呢?這是需要我們去搞懂它的。通過進一步的跟蹤,會發現在resourcedispatcher onreceiveddata函式呼叫webco...