jsdom 4.0 發布,JavaScript 的 HTML 解析器

2020-12-25 開源中國

jsdom 4.0 發布,該版本基於全新的 vm 模塊,避免上下文原生模塊依賴。使用上更加簡單,無需 C++ 工具鏈進行編譯。改進介紹請看這裡。

jsdom 是 WHATWG DOM 和 HTML 標準的 JavaScript 實現,主要用於 io.js 框架。

示例代碼:

// Count all of the links from the io.js build pagevar jsdom = require("jsdom");jsdom.env(  "https://iojs.org/dist/",  ["http://code.jquery.com/jquery.js"],  function (errors, window) {    console.log("there have been", window.$("a").length - 4, "io.js releases!");  });

或者:

// Run some jQuery on a html fragmentvar jsdom = require("jsdom");jsdom.env(  '<p><a class="the-link" href="https://github.com/tmpvar/jsdom">jsdom!</a></p>',  ["http://code.jquery.com/jquery.js"],  function (errors, window) {    console.log("contents of a.the-link:", window.$("a.the-link").text());  });

相關焦點

  • JavaScript 實現 JSON 解析器
    編寫 JSON 解析器所需的知識和技術可以轉移到編寫 JS 解析器中。因此,讓我們開始編寫 JSON 解析器!理解語法如果您查看了規範頁面,會發現有2個圖。實現解析器讓我們從以下結構開始:function fakeParseJSON(str) { let i = 0; // TODO}我們初始化i作為當前字符的索引,當i到達str結束時,我們將立即結束。
  • 從 0 開始發布一個無依賴、高質量的 npm 包
    4、5、6是為了開發一個高質量的npm。到這裡,一個npm包就開發完成了,直接發布即可使用。但是,略顯粗糙:代碼壓縮、單元測試、readme都沒寫,別人不知道怎麼用也不敢用。下面一步步完善。配置webpack這裡用的是最新版的webpack4,官方提供production和development兩種開發模式,並分別做了默認壓縮處理,非常適合這裡。
  • DOClever 3.0.4 發布,支持 html 和 xml 顯示
    4.支持postman,rap,swagger的導入,方便你做無縫遷移,同時也支持html文件的導出,方便你離線瀏覽!5.項目版本和接口快照功能並行,你可以為一個項目定義1.0,1.1,1.2版本,並且可以自由的在不同版本間切換回滾,再也不怕接口信息的遺失,同時接口也有快照功能,當你接口開發到一半或者接口需求變更的時候,可以隨時查看之前編輯的接口信息。
  • pyPEG 2.0 發布,PEG 解析器
    pyPEG 2.0 發布,pyPEG 是一個快速、簡單的 Python 的 PEG 解析器。輸出結果是 Python 的數據結構、或者是XML。PEG 意思是 Parsing Expression Grammar,有點類似正則表達式.
  • 網頁性能之html css javascript
    前言html css javascript可以算是前端必須掌握的東西了,但是我們的瀏覽器是怎樣解析這些東西的呢 我們如何處理html css javascript這些東西來讓我們的網頁更加合理,在我這裡做了一些實驗,總結起來給大家看看。
  • 掌握如下方法,輕鬆在Html DOM中通過JavaScript查找Html元素
    這4種操作的前提是要查找到操作的Html元素,以下使用JavaScript代碼快速通過id、標籤名、name和class查找到整個頁面中的Html元素。DOCTYPE html><html><head><title></title> <script type="text/javascript"> //查找到id為div1的div元素
  • HTML頁面跳轉的5種方法
    -- 以下方式定時轉到其他頁面 --><meta http-equiv="refresh" content="5;url=hello.html"> </head>優點:簡單缺點:Struts Tiles中無法使用2) javascript的實現<script language="javascript" type="text
  • Python爬蟲基礎:常用HTML標籤和Javascript入門
    <html>    <body>        <div id="test">靜態內容</div>    </body>    <script type="text/javascript">        document.getElementById
  • Babel 7.5.0 發布,JavaScript 編譯器
    Babel 7.5.0 已發布,Babel 是用於編寫下一代 JavaScript 的編譯器。
  • 使用HTML DIV+CSS樣式+JavaScript實現自定義個性化的模態窗口
    圖4fixed:不管父元素是否使用了position屬性,則子元素使用position=「fixed」都是相對於瀏覽器進行定位的。relative:在什麼情況下都是相對於父元素進行定位的。DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title>
  • Css和html、javascript的關係是什麼?
    CSS是英文Cascading Style Sheets首字母的簡寫,翻譯成中文是層疊樣式表,簡單理解它是html語言的一個應用,css可以修飾各種動態和靜態頁面,對頁面中的元素進行精準控制(是像素為單位的),css的誕生是為了解決html的顯示功能,它解決了html顯示雜亂和臃腫的問題
  • html代碼
    簡單的window.open方法   <a href="#"  οnclick="javascript :window.open(文件路徑/文件名,newwindow,   toolbar=no,scrollbars=yes,resizable=no,top=0,left=0, width=400,height=300);">文字或圖片</a>
  • 開發者必備的Javascript單元測試工具
    4. 接下來,我們配置jsTestDriver的服務端,以讓其監控chrome瀏覽器,讓其運行Javascript測試用例。在命令行輸入如下代碼,具體路徑請根據實際情況修改。; Fails: 1; Errors: 0) (0.00 ms)  Chrome 13.0.
  • Golang XML解析器漏洞可引發SAML 認證繞過
    Golang XML解析器漏洞可引發SAML認證繞過 12月14日,Mattermost與Golang團隊發布了3個Go 語言XML 解析器安全漏洞。漏洞影響多個基於Go 的SAML 實現,可能引發完整的SAML 認證繞過。
  • 9 個讓 JavaScript 調試更簡單的 Console 命令
    script type="text/javascript">         console.log('hello');         console.info('信息');         console.error('錯誤');         console.warn('警告');     </script> </body> </html>
  • 詳解 JavaScript 閉包
    (點擊上方公眾號,可快速關注)作者:trigkit4 ( @trigkit4 )segmentfault.com/a
  • Javascript 實現複製(Copy)動作大全
    來源 | https://www.liqingbo.cn/blog-1412.html
  • Python 數據處理(十八)—— HTML 表格
    Nutrient        Unit Value per 100.0g oz 1 NLEA serving  56g  Unnamed: 4  Unnamed: 5 0                           Proximates  Proximates       Proximates             Proximates  Proximates  Proximates
  • JavaScript是什麼
    javaScript,SQL為html網頁提供動態效果【特效】。完成與後臺處理程序數據交互。【1.發請求{要} 2.處理數據】簡單的具體操作:1.直接向html文件中寫出標記和內容。HTML 中的腳本必須位於 標籤之間。
  • 碼雲Markdown 解析器更換為 CommonMark 解析器
    之前碼雲的解析器基於用戶的反饋做了很多定製化的修改,但是隨著使用碼雲的用戶越來越多,以及越來越多的Github用戶往碼雲上遷移,