前言 網頁截圖導出不是一個非常高頻的需求,但時不時的也會遇到。這里總結一下系統的解決方案,然后從中選擇合適自己的。 截圖導出可以看到是兩個功能,第一步實現截圖,第二步實現導出也就是下載能力。 截圖實現 首先,我們必須明白正常javascript是運行在瀏覽器里的,本身沒有截圖的能力。所以
DOM中的window對象通過window.history方法提供了對瀏覽器歷史記錄的讀取,讓你可以在用戶的訪問記錄中前進和后退。 從HTML5開始,我們可以開始操作這個歷史記錄堆棧。 而,可以通過這個特性,來解決當前頁面提交POST后,刷新,會提示是否再次提交。 使用如下代碼:
Fancybox是圖片燈箱插件,lazyload是延遲加載插件。如果兩個插件一起使用,由于圖片延遲加載,所以在只加載了第一張圖片的時候,點擊第一張圖片,彈出燈箱,在燈箱中切換下一張圖片,會獲取不到延遲加載的圖片,可能會獲取到站位圖片。 解決方法,為延遲加載的圖片,添加data-src 屬性,屬
TypeScript 是一種由微軟開發的自由和開源的編程語言,它是 JavaScript 的一個超集,擴展了 JavaScript 的語法。 TypeScript是為開發大型應用而設計的,并且TypeScript可轉譯成JavaScript。由于TypeScript是JavaScript的嚴格
function*?這種聲明方式(function關鍵字后跟一個星號)會定義一個生成器函數?(generator function),它返回一個 ?Generator??對象。 function* generator(i) { yield i; yield i + 10; }
眾所周知JS是單線程的,這種設計讓JS避免了多線程的各種問題,但同時也讓JS同一時刻只能執行一個任務,若這個任務執行時間很長的話(如死循環),會導致JS直接卡死,在瀏覽器中的表現就是頁面無響應,用戶體驗非常之差。 因此,在JS中有兩種任務執行模式:同步(Synchronous)和異步(Asyn
1. 介紹 fancyBox 是一個 JavaScript 庫,它以優雅的方式展示圖片,視頻和一些 html 內容。它包含你所期望的一切特性 —— 支持觸屏,響應式和高度自定義。 1.1 依賴 推薦 jQuery 3+,但是 fancyBox 仍支持 jQery 1.9.1+ 和 jQuery
來源:https://segmentfault.com/a/1190000017469386 一直想梳理下工作中經常會用到的深拷貝的內容,然而遍覽了許多的文章,卻發現對深拷貝并沒有一個通用的完美實現方式。因為對深拷貝的定義不同,實現時的edge case過多,在深拷貝的時候會出現循環引用等問題,導
corepress主題,在文章中允許顯示菜單,如圖。 并且點擊標題能實現跳轉到文章指定的標題位置,同時文章目錄菜單的標題會顯示當前標題顏色 下面記錄一下如何制作的。 枚舉標題 通過JQuery,枚舉文章內容中的h2標簽,并且給標簽打上自定義熟屬性。 并且,給目錄
創建JavaScript的對象,可以通過對象.屬性名獲取值,也可以通過對象['key']獲取內容。 使用對象['key'] ,傳入的內容都會被轉換為字符串值。 var obj = { a: 'test', b: 'test2' }; obj.a; //test obj['b'];//test2