收藏 / 列表

前端胖頭魚 - 如何實現swipe、tap、longTap等自定義事件

前言 移動端原生支持touchstart、touchmove、touchend等事件,但是在平常業務中我們經常需要使用swipe、tap、doubleTap、longTap等事件去實現想要的效果,對於這種自定義事件他們底層是如何實現的呢?讓我們從Zepto.js的touch模塊去分析其原理。您也可以直接查看touch.js源碼註釋 源碼倉庫 原文鏈接 事件簡述 Zepto的touch模

zepto , jquery , html5 , Javascript

IT開發者筆記 - 國產化Excel處理控件Spire.XLS教程:使用Java將CSV轉換為PDF(含格式設置)

在日常的數據處理中,CSV 文件以其輕量和通用性廣泛用於數據交換和系統導出。然而,它僅能提供基礎的表格結構,不支持複雜排版,也不便於展示和打印。相比之下,PDF 格式則擁有固定版面、跨平台兼容和可打印的優勢,非常適合用於正式報告或檔案歸檔。 如果能將CSV 自動轉換為 PDF,就能快速生成清晰、美觀的報表,既節省手動排版時間,又能保持數據的專業呈現。本文將介紹如何使用Spire.XLS for

後端

另類的剪刀 - HTTP 與 SOCKS5 代理協議:企業級選型指南與工程化實踐

面向企業網絡與數據團隊的工程化、可落地的代理協議選型與治理指南。核心思路:按流量特徵選協議,用多協議網關統一出站,以託管網絡降低複雜度,最終實現穩定吞吐、可預測時延與合規落地。2 一、核心定位與結論 1.1 目標讀者 企業網絡架構、數據平台與安全合規團隊 1.2 核心結論 協議選型原則: HTTP 代理:優先用於 Web 爬取與 API 調用等應用層流量 SOCKS5 代理:優先用於多協議、

fiddler , Javascript

愛跑步的番茄 - 代理IP是什麼?核心概念、類型與應用場景全面解析

在跨境電商、數據採集、廣告投放、賬號安全防護等依賴互聯網業務的領域中,代理IP逐漸成為基礎設施。它能夠隱藏真實身份、突破地域限制並提升賬號穩定性,對於企業和個人業務增長意義重大。 本文將系統解析代理IP的概念、原理、類型與選型要點。 一、代理IP的定義 代理IP(Proxy IP)指用户通過代理服務器訪問互聯網時,以代理服務器的IP替代用户自身真實IP的一種網絡技術。 代理IP能夠更改

數據庫 , Android , 後端 , 前端

雨花石 - webpack未轉譯第三方依賴axios為es5導致低端機型功能異常

背景: 兼容性測試流程中,遇到華為p9手機上的頁面按鈕點擊無反應的問題。開發者工具查看後發現報錯如下: 根據報錯信息檢查了一下頁面引用的vendors包,發現有...語法,來自於第三方依賴axios。 原因: axios包有es6語法,而我的項目的webpack.config.js配置的babel-loader排除了所有的node_modules的編譯。如下: {

babel-loader , Android , Axios , webpack , Javascript

夢想雲圖網頁CAD - (WEB在線編輯DWG)在線CAD中實現測量圓、測量面積的方法

一、前言 本章將介紹如何利用mxcad插件實現在CAD圖紙中測量圓和測量面積的功能,用户點擊目標圓對象將自動標記出這個圓的半徑、面積值和周長值,同時可以自定義選擇標註文字的位置,測量圓功能能夠快速掌握目標圓對象的數據信息,方便統計工程量。 測量面積功能(多邊形、矩形)以多邊形的每一個頂點來確定多邊形的形狀和位置,通過點擊矩形的量角點來確定矩形的大小和位置,也可以自定義標註文字的位置。 二、測

ecmascript-6 , typescript , HTML , html5 , Javascript

前端小菜 - JS如何刪除對象中的某一屬性

let math = { subject: '數學', children: [ { id: 1, title: '數一' }, { id: 2, title: '數二' }, { id: 3, title: '數三' }, { id: 0, title: '待定' } ] } // 添加新屬性 math

ecmascript-6 , es5 , Javascript

清隆 - 聊聊原型鏈與繼承

前言 原型鏈與繼承、作用域與閉包、單線程與異步並稱為前端的三座大山,均屬於 JavaScript 中基礎卻又十分複雜的部分,而且面試中也經常問到。 今天,我們就來詳細介紹一下原型鏈與繼承,聊聊它的概念、作用與用法。 如果掘友對此部分已經學過只是略微遺忘,可直接跳轉至原型鏈圖片看圖複習。 下面,讓我們循序漸進的介紹下原型鏈與繼承。 認識原型 在我們創建函數的同時,都會自動為其創建一個 prototy

原型 , 原型鏈 , 前端 , Javascript

aqiongbei - 手動點擊與代碼中調用click方法兩者的區別

問題描述 在看事件循環相關視頻的時候發現其中有一個例子不理解,查了資料才明白其中的緣由,遂以志之。問題是這樣的: button id="button"button/button button.addEventListener("click", () = { Promise.resolve().then(() = console.log("Microtask 1")); consol

eventloop , 事件循環 , 同步 , 前端 , Javascript

JackySummer - 結合實踐解讀 package.json

前言 平時大家在公司接手一個已有項目的時候,首先會看的是什麼呢?我的習慣是先看 README.md 和 package.json。 通過 README 瞭解項目是做什麼和注意點,通過package.json瞭解項目涉及的技術棧和 npm 庫等等。 今天就來深入瞭解下package.json這個文件,不僅是解釋詳細字段含義與運用(忽略部分第三方字段本文就不介紹了),更重要的是想借此擴展總結下涉及工作

package.json , 工程化 , Javascript

51搜不到你 - 電腦廣告攔截工具分享

今天分享2款電腦廣告攔截工具 1、SoftCnKiller(流氓軟件清理檢測): 若懷疑電腦已感染流氓軟件,可通過本工具進行全面掃描與清理。使用前請先運行黑名單更新程序(見下文圖示),以獲取最新特徵庫,支持檢測更多新型流氓軟件。 該工具可深度掃描電腦中的絕大多數流氓軟件及捆綁安裝程序(俗稱"下崽器")。個人實測:因

任務欄 , 結束進程 , 流氓軟件 , 前端開發 , Javascript

健兒 - 從一個請求封裝的“死循環”Bug,我學到了什麼?—— 深入剖析 async/await 與錯誤處理 前言:那個讓我頭疼的下午

我們都曾經歷過這樣的下午:一個看似邏輯嚴密的模塊,在實際運行時卻表現得像個失控的野獸。我的故事,就從一個本應“智能”處理登錄和 Token 刷新的 ajax 請求封裝函數開始。 我希望它能在接口返回 400(需要登錄)或 4_01(Token 失效)時,自動完成登錄或刷新 Token,然後再重新發起剛才失敗的請求。然而,它卻在某些情況下陷入了可怕的無限循環,瘋狂轟炸着我的服務器。 起初

Ajax , 前端 , Javascript

mob64ca13fe62db - tableau docker安裝

tableau可視化 When working with geospatial data, it’s often useful to visually inspect the data on a map. In this tutorial, we will be using real cellph

雲計算 , 數據可視化 , tableau docker安裝 , JAVA , Docker , 可視化 , Python

Kirill Myshkin - Precise Timing With Web Animations API

I previously viewed animations as something playful. Something that adds fuzziness to interfaces. Apart from that, in good hands, animation can make interfaces clearer. One property of animations on

animation , API , Interfaces , Javascript

華為雲開發者聯盟 - 4問教你搞定java中的ThreadLocal

摘要:ThreadLocal是除了加鎖同步方式之外的一種保證規避多線程訪問出現線程不安全的方法。 本文分享自華為雲社區《4問搞定java中的ThreadLocal》,作者:breakDraw。 多線程訪問同一個共享變量的時候容易出現併發問題,特別是多個線程對一個變量進行寫入的時候,為了保證線程安全,一般使用者在訪問共享變量的時候需要進行額外的同步措施才能保證線程安全性。ThreadLocal

threadlocal , 線程 , 多線程 , JAVA , 變量

heath_learning - CSS BFC特性(塊級格式化上下文)

1、元素的BFC特性 BFC全稱為”Block Formartting Context”,中文為”塊級格式化上下文”。它是頁面中的一塊獨立的渲染環境,並且有一套渲染規則, 它決定了其子元素將如何定位,以及它和其他兄弟元素的關係和相互作用。 BFC佈局規則: 1)bfc內部的元素會在垂直方向,一個接一個地放置 2)盒子垂直方向的距離有margin決定,屬於同一個bfc的兩個相鄰元素的margi

css技巧 , bfc , Css , HTML

邊城 - Loading ... done

引子 在前面界面開發的過程中,為了增強在與後端交互過程中的用户體驗,通常會顯示 Loading 動畫。Loading 動畫會在與後端交互結束的時候關閉。這是一個很常規的需求,技術實現也不復雜。 showLoading(); axios.request(...) .then(...) .finally(() = hideLoading()); Node.js 和大部分瀏覽器都在 20

loading , finally , 異步 , 前端 , Javascript

新茶十九 - 高德地圖的柵格圖,2D地圖,瓦片圖有什麼區別

高德地圖的“柵格圖”、“2D地圖”和“瓦片圖”這三個概念經常被混用,但它們描述的是不同層面的東西。 簡單來説: 瓦片圖是技術實現方式。 柵格圖是地圖數據的展現形式(與矢量圖相對)。 2D地圖是地圖的顯示模式(與3D地圖相對)。 下面我用一個清晰的表格和詳細解釋來説明它們的區別和聯繫。 🆚 核心概念對比 維度

vue.js , 高德地圖 , 柵格 , 3d , 前端開發

Christian Heilmann - The Seven Deadly Sins Of JavaScript Implementation

If you look at some of the code that has been released, though, we do seem to have taken a step backwards. In gaining easier access, we also became a bit sloppy with our code. Finding clearly struct

coding , Javascript

Atila Fassina - Databases For Front-End Developers: The Concepts Under The Hood (Part 2)

In Part 1, The Rise Of Serverless Databases, of the “Databases For Front-End Developers” series, we talked about the hurdles and traps of scaling and maintaining your databases. We went from simpler

API , Apps , Browsers , serverless

lihaixing - 二進制運算實例

實際使用 位運算只可運用於整數,對於 float 和 double 不行。 WebGL 遊戲數據處理 WebSockets、AJAX、Fetch、WebRTC 服務通信 WebUSB、WebAudio 硬件通信 Crypto 加密算法 1. 一些基本用法 位運算 功能 示例 x 1 去掉最後一位 101101-101

react , vue.js , 二進制 , 前端 , Javascript

玩足球的傷疤 - 細説Flexbox 佈局

在響應式設計中,Flexbox 是一種理想的佈局工具。它使得元素能夠根據容器的尺寸自動調整,靈活地填充可用空間。因此,無論是在桌面端還是移動端,Flexbox 都能夠確保佈局自適應、整潔且易於維護。 示例:響應式導航欄 假設我們需要創建一個具有可調節寬度的導航欄,項之間應均勻分佈,並且在小屏幕上時,導航項能夠堆疊在一起: nav class="navbar" a href="#"Home/a

flexbox , typescript , 後端 , 前端 , Javascript

陽呀呀 - “寒冬”三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之CSS篇

前言 不論是寒冬還是暖冬,找工作之前都需要做好充足的準備,面試的時候才能做到遊刃有餘。此文是把我最近找工作準備的以及筆試面試中涉及到的手寫題做一個總結。給自己,也給需要的同學。 CSS是前端必須要掌握的技能之一。一般面試也都會從CSS開始。所以CSS問題答的好壞會直接影響你在面試官心中的形象。 本文主要介紹面試中常會遇到的CSS問題及給出建議性的答案。 往期 “寒冬”三年經驗前端面試總結(含

面試 , 筆試 , Css , 前端 , Javascript

雲綺棠兮 - JavaScript創建對象的多種方法

方法一 ----通過字面量創建 let obj = { name: 'zhang', age: 12, sayName: function () { console.log(this.name); } } console.log(obj);//{ name: 'zhang', age: 12, sayName: [Function: sayName

prototype , object , Javascript