Category: javascript

之前在某個前端技術部落格看過一種很酷的特效:瀏覽網頁時有一堆綠色小點追著滑鼠游標跑,滑鼠移到哪裡,整群小點就跟到哪裡。早不記得是在哪裡看到的,自然也很難再找到連結給大家參考,但接近以下這種展示效果: 粒子效果模擬 說真的,在網頁要追蹤滑鼠游標並不難,從 onmousehover 事件取得目前游標座標...

隨著野生 IE 消失殆盡,我的前端開發進入新時代,不必再依賴 jQuery 幫忙跨瀏覽器,還可安心使用各式新式 JavaScript 及 CSS 語法。現在若不是要用 jQuery 套件,簡單程式我多半會用香草 JavaScript (Vanilla JavaScript)輕鬆搞定。涉及複雜輸入欄位...

最近重操舊業,想將網站上的技術系列文章轉成 ePub 電子書。 電子書的圖檔部分我喜歡將<img>轉 Data URI 內嵌簡化管理,方法不難,用一小段 JavaScript 透過 Canvas 可輕易實現: document.querySelectorAll('.article_con...

上回介紹 Python 新手線上教學資源提到我有在看政大磨課師課程的線上開放課程 - 成為python數據分析達人-的第一門課,課程偏重數據分析演練,挺實用的。 課程是開放的,只要申請個新帳號任何人都可以看課程影片。 實際看了幾篇,發現上操作有點不便。以這堂 Python 課程為例,每一章有多個小...

身為十幾年前開始學 JavaScript 的老人,腦中總有些過時的觀念與知識,就像聊天時偶爾會脫口說出小叮噹、神奇寶貝般不合時宜,當場曝露年紀。 昨天談到 Chromium keydown Bug,讀者 Chester Fung 提醒,keydown/keyup 事件中已不該再用 keyCode 取...

使用者反應,上線超過十年的 jQuery 自動完成套件最近常失靈,使用者輸入字元時沒反應,但時好時壞,有時是好的,有時會壞掉。 無法 100% 重現的茶包最麻煩了,連我們在測試台嘗試重現問題,也是有時可以有時不行,理不出頭緒。費了番手腳,終於找出容易重現問題的關鍵(但也非 100% 可重現) - 啟...

自從 IE「榮退」(雖然我也曾是「IE 必須死」派,念在當全端攻城獅靠他吃了十幾年飯不能忘本,該有的尊敬還是要給)、Edge 也投靠 Chromium 幫,瀏覽器再次進入大一統時代,寫企業應用前端介面頓時簡單許多,不必再為跨瀏覽器傷透腦筋。 而隨著 HTML5 / CSS / 瀏覽器 API 規格日...

故事是這樣的,在網路上查到一個很酷的 CSS 3D 旋轉方塊教學: 看到後禁不住手癢,馬上照著刻了一套洗巴辣擲骰子動畫: 嚴格來說,我的 HTML 5 CSS 跟 JavaScript 技能等級只到中上,過去要挑戰這種題目屬越級打怪,少不了爬文地獄加撞牆撞到飽。現在有了 Github Copli...

如果有人問你,要怎麼寫 JavaScript 在以下網頁的 textarea 欄位塞值並按下送出鈕,你可能會像我噗哧一笑,想說這是什麼白痴問題? 然後用肌肉記憶生出兩行程式碼: document.querySelector('textarea.ant-input').value = 'summar...

前陣子講到 .NET PDF 文件製作,讀者 fredli 提到 HTML 轉 PDF 缺乏 好用套件。在我心中,HTML 轉 PDF 首推微軟推出的 Playwright,可選擇 Chromium 引擎,不必擔心 HTML 支援不夠力或渲染邏輯不對(網頁用 Chrome 看不正常,錯的當然是網頁)...

在很多網站看過一種方便設計 - 從別處選取圖片複製到剪貼簿,在網頁空白處按 Ctrl-V,便會將圖片上傳到網站。 總想著,改天我要為自己的網站也加上這個酷功能,就今天吧! 在 IE 退役及Edge 改用 Chromium 引擎後,瀏覽器回到大一統的和平局面(令人想起當年 IE 市佔 95% 的時光)...

最近玩了自架 ChatGPT 網站的開源專案 Chatbot UI,網站以 React 前端程式為核心,1.0 原以 localStorage 儲存資料,基於安全疑慮、大小限制、無法跨機器共用等因素,改版時將資料改存到後端,用了一個我沒看過的資料庫 - Supabase。 Supabase是一個開源...

說一下我的需求,有個寬度有限的 HTML 表格欄位,內容文字長度不一,大部分都放得下,但偶爾文字過長會折行使列高加倍,造成排版雜亂且不易閱讀。增加欄位是最簡單的解法,但但因表格欄位眾多難再增大。換個思路,既然無法增加欄寬就讓字小一點,若還是擠不下也別勉強,多行就多行;但另外有個問題,原本文字置中,遇...

踩到一個 Node.js 小問題,用一小段程式重現。 簡單的 HTTP 客戶端測試,一人分飾兩角,預設為伺服器模式,利用內建 http 模組 Bind 127.0.0.1 9527 Port 跑一個簡單的伺服器(永遠回傳 Hello World);若帶入參數 client,則使用 fetch 呼叫 ...