瀏覽器中的源碼分析功能

来源:http://www.cnblogs.com/flyingjun/archive/2016/01/27/5163948.html
-Advertisement-
Play Games

前言:我們一直在用瀏覽器,你是否真正玩過他?NO! 在IE瀏覽器中,打開一個網頁,右擊菜單欄中有一個查看源代碼功能,不過這個源代碼太長了,不易分析。 之後的瀏覽器增加了一項功能,叫做審查元素功能。 在谷歌瀏覽器中,打開一個網頁,右擊菜單欄中有一項是檢查;在搜狗瀏覽器中,打開一個網頁,右擊菜單欄有一項



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

IE瀏覽器中,打開一個網頁,右擊菜單欄中有一個查看源代碼功能,不過這個源代碼太長了,不易分析。

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

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


 

一、審查元素簡介

以最常用的百度搜索界面為例,打開審查元素,如下圖所示:

右側出現審查元素界面,也就是網頁的Html代碼元素

其中包括以下模塊

Elements(元素/標簽)

查看頁面中所有的HTML元素,左面是用樹形結構展示的HTML標簽,滑鼠移到上面會在頁面中顯示這個標簽的位置、實際長寬等。右面是每個元素的CSS屬性,繼承關係等等,還有DOM屬性、繼承關係、綁定的事件。

Resource(資源)

顯示頁面中用到的所有資源,頁面、圖片、樣式表、腳本等。還有本地儲存、Cookie.

Network(網路)

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

這裡會顯示每個文件的信息、由何處觸發這個網路活動、HTTP報頭等等.

Sources(源代碼)

用於對js進行調試,左面有所有js代碼的列表,中間是代碼區域(下麵有個格式化代碼的功能),右邊是斷點、觸發器、調用棧等等.

Timeline(時間軸)

同樣需要先打開這個選項卡,點擊下麵的`開始捕捉`才會有顯示。

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

而且會很詳細的顯示每個活動占用的CPU和記憶體.

可以利用這些信息對網頁進行優化.

Profiles(報告)

可以截取一段時間的CPU使用情況報告、CSS類使用情況報告(用來剔除未用到的CSS)、堆記憶體快照(用於優化js腳本和DOM結構).

Audits(審計)

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

Console(控制台)

這是一個js控制台,你可以直接運行js代碼,對頁面進行操作.

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

元素標簽上展示了網頁上元素的html源碼,隨著你的滑鼠在代碼上移動,左側會顯示你所指向的元素控制項。

 

最基本的是head一個網頁的總設置,如下所示title設置標題。

<title>百度一下,你就知道 </title>

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

body是整個網頁的佈局。

左圖所示,為右上角菜單欄的代碼,其中我們可以設置的菜單:糯米、新聞、地圖等。並且分別對應著一個連接,我們可以對其修改。

 

例如下圖所示:

 

 

註意:此種修改只能在本地修改,當然修改不了網站本身。

 

三、利用審查元素下載網頁視頻

網頁播放視頻需要載入緩存,那麼緩存就是一個元素,此元素被存到Resource(資源)中。我們首先播放一個視頻,以優酷為例,打開優酷,隨便播放一個視頻,然後打開審查元素,選擇network查看當前運行的網路事件,下麵有列表,點擊size排序,找文件大小比較大的應該就是視頻文件(因為文件的編碼都是代號,所以靠文件名不方便看出,只能藉助大小識別)找出後點擊對應的Initiator(即發起程式,即資源的來源地址)可以跳轉到對應的資源文件區域,然後雙擊下載即可。

因為優酷等網站視頻都是斷點載入的,也就是一段一段的,當你看一分一秒時,他只緩存第一段,當你看到二十分時才緩存第二段。所以需要緩存多段才能全部下載。

 

如圖2所示,有很多斷點,可以緩存完第一段後點到第二段,然後他就就緩存第二段了,再點到第三段,就緩存第三段了。

 

 

四、網頁編程學習

網頁的幕後都被我們看到了,我們也可以利用它做一些小插件,比如賬號自動登錄的插件,我們知道網頁中的元素,也就知道本身這些元素的ID號就可以通過程式去填充它,一些迅雷會員破解等內容的實現也是基於此的,利用軟體網頁控制項的ID號來去操作它。

下麵是一篇介紹自動登錄插件製作的思路。

http://www.cnblogs.com/dyllove98/archive/2013/08/01/3230968.html

 

 文章格式整理不太好可以參照Word版本http://wenku.baidu.com/view/907bf4dc763231126fdb118f

 

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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫爬蟲之前,首先要明確爬取的數據。然後,思考從哪些地方可以獲取這些數據。下麵以一個實際案例來說明,怎麼尋找一個好的爬蟲策略。(代碼僅供學習交流,切勿用作商業或其他有害行為) 1).方式一:直接爬取網站 目標網址:http://chanyouji.com/ 註意:這個網站會攔截IP,訪問次數過多...
  • 背景 今天的分享主要來自我之前的工作經驗以及平時的學習總結和思考。我之前的背景主要是做框架、系統和平臺架構,之前的工作過的公司eBay、攜程、唯品會都是平臺型互聯網公司,所以今天主要帶著平臺架構視角和大家分享心得體會。架構的視角每個人都不一樣,可以說一萬種眼光,有業務架構、安全架構、平臺架構、數據架
  • NodeJS新手攻略 1、在官網(https://nodejs.org/)下載node安裝包進行安裝windows和Linux 版本都有 這裡說下windows系統安裝 安裝nodeJS直接下一步 安裝過程中可選擇安裝路徑 node -v npm -v 直接cmd使用nodejs命令查看是否安裝成功
  • JS 變數提升 函數提升
  • 淺析XMLHttpRequest
  • 在javascript中對象是一種基本的數據類型,在數據結構上是一種散列表,可以看作是屬性的無序集合,除了原始值其他一切都是對象。它可以用來表示現實世界中或者我們大腦中抽象出來的客體,這和其他面向對象的編程語言有些類似,但js並不是面向對象的而是基於對象的,因為典型的面向對象要求封裝、繼承和多態,而
  • 效果預覽:http://hovertree.com/texiao/html5/19/本效果適用於移動設備,可以使用手機等瀏覽效果。源碼下載:http://hovertree.com/h/bjaf/mwvn0mxi.htm本實例用到了toggleClass方法,請參考:http://hovertree
  • 由於html5的流行,現在移動端大多數的需求都可以使用audio來播放音頻,但您可能只是需要很簡單的播放/停止效果,但不同的瀏覽器上的audio樣式卻不盡人意,所以我簡單的把它進行了封裝
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...