米薩克
  • 首頁
  • KBtalKing Pro
  • 關於作者
  • 鍵盤
  • 滑鼠
  • 工具
  • 網站連結
  • 首頁
  • KBtalKing Pro
  • 關於作者
  • 鍵盤
  • 滑鼠
  • 工具
  • 網站連結
米薩克

Mesak 敗家、筆記、生活

標籤:

javascript

JavaScript

[JS] Table 轉 Object 練習 part2

by Mesak 2023-01-11
written by Mesak

前情提要? 上一篇實作方法利用了三個迴圈,取得標題,將標題的資料利用索引(index) 抓取表格的內容,

程式碼如下:

let headData = Array.from(document.querySelectorAll('thead > tr > th')).map(n=>n.innerText)
console.log('headData', headData )

let tableObject = []
for(let trNode of document.querySelectorAll('tbody > tr') ){
  let data = {};
  Array.from(trNode.querySelectorAll('td')).forEach((n , index)=>{
    data[ headData[index] ] = n.innerText
  })
  tableObject.push(data)
}
console.log( 'tableObject ',tableObject )

其中內容可以看到,第二段的地方,所跑的迴圈是針對 td 來做處理,headData 的部分其實也是針對 tr 下的 欄位去做處理,以前針對 XHTML 有稍微看一下規範,在標準的 HTML 結構下 TABLE 的子節點必須是 caption,colgroup,thead,tbody,tr 幾種節點,tr 這個節點下也只能有 th 跟 td 在這個標準規範下,我們理論上可以信任瀏覽器會解析這些元素來使用

繼續閱讀
2023-01-11 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
JavaScript

[JS] Table 轉 Object 練習 part1

by Mesak 2023-01-10
written by Mesak

自從工作開始分前後端分離之後,JavaScript 的東西就比較少去鑽研。但近期工作又開始大量使用到 JavaScript ,開發的途中會需要重複使用一些迴圈函數。還記得為了因應瀏覽器的變化以及複雜程度, jQuery 的出現就讓開發者省去不少事情,DOM 的迴圈 each 可以直接從選擇器的 $(dom).each 來使用,演變到現在瀏覽器大多直接使用 querySelectorAll 的方法來跑 forEach, ECMAScript 的演化大大降低了對 jQuery 的依賴程度,開發前端開始探究起 JavaScript 的深度,進而演變許多框架,想要學好JavaScript MDN 就是個很好用的工具。

寫程式不需要一步到位,逐步漸進的達成目的,有機會再去把程式碼精簡調校,能夠理解其原理才會是最好的解法

這次就用個簡單的範例,當遇到表格的時候,要怎麼轉成 一般的 Plain Object ,這個例子也是我使用 Greasemonkey 腳本開發的時候,要將 DOM 的內容轉換成可以快速重複利用資料的做法,當使用腳本的時候,需要分解的網頁會是結果,要轉換成可利用的資料還需要經過一番抓取變換,熟悉操作之後就可以很容易地將資料轉換成畫面。

首先來一個範例:

繼續閱讀
2023-01-10 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
JavaScript

[JS] 利用 ES6 的 Classes 切割 API Data 建立乾淨的架構

by Mesak 2022-05-30
written by Mesak

前端開發中的時候,很容易把 API 事件寫在同一個 component 裡面,大部分人會進行封裝,讓傳送 API 的方法變得更簡單

先前碰到同事裡用前端框架系統 Vue 的時候,則是把 API 放到 Vuex 裡面,之前看過 React 裡面,如果上下層傳遞有點過於遙遠或是複雜,通常會用 State 來管控, Vue 使用 Vuex ,React 則是用 redux 來表達貫穿這個元件的參數。

不過正如上面說的 Vuex 跟 redux 都是用來放狀態的,如果拿來放其他東西,並不是說不可以,只是如果在物件導向的裡面中,這樣就違反了 單一功能原則的項目,狀態管理就不再是狀態管理。

自從看了一點 Clean Code的書之後,開始針對 Clean Architecture 很感興趣,原本我主要寫後端跟一點點的前端,開始把後端架構邏輯設計延伸到了前端,開始修正前端同事的程式碼。

Clean Architecture:

Clean Architectur
From Layers and Inversion of Control

回到正題 要實現乾淨的架設設計,首先先把專案中的 Vuex 裡面,包了一堆 API 的模式給抽離開來,去年我重新理解一次 新的 JavaScript 的時候,發現 ES6 有個相當好用的東西叫做 Classes 如果你懂一點物件導向就可以知道這個東西是用來做什麼的。

實際操作了一下真的讓我感動到哭,很久很久以前操作 JavaScript 的時候要實現到類似的事情必須要 function 一層包了一層才有可能實現這件事情,現在原生 JS 支援把這個東西當成特別的 function 讓你使用更簡潔的方式建立物件,以及處理繼承,真的相當方便

這邊先設計一個範例,採用 https://reqres.in 來顯示 REST API 的方式,這個資源是隨意 Google到的,要套用現有的 資源應該也不是問題。

繼續閱讀
2022-05-30 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
JavaScript

[JS] 傳送 物件/陣列 到 FormData

by Mesak 2022-05-07
written by Mesak

JS 自從有了打包工具之後,很多工具造福不少開發者,以往要送個 AJAX 到後端,大多都是一個頁面處理一個 method

框架化後,每個程式碼開始有了 物件化、封裝方式來做,現在大多都用 axios 來送 AJAX

但是遇到一個問題就是送檔案的時候,需要使用到 FormData 的物類別物件。

但是整個像後端送的程式碼都封裝起來了,要針對一個檔案上傳的方法,做出額外處理,當檔案上傳處理頁面多了之後

維護除錯方法就有點麻煩。

所以比較好的方式還是修改 API 送出前,先把物件轉換好判定是否有 File 類型,然後轉換成 FormData 就可以一勞永逸

繼續閱讀
2022-05-07 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
Vue

[Vue] 那就來寫前端吧 proxy helper

by Mesak 2022-03-14
written by Mesak

Proxy 這個用法是我在 學習 ES6 的時候,覺得一定要懂的東西, 從 jQuery 時期學到的語法,大多都是資料操作 DOM 物件,事件操作資料,再順便關聯資料,當我寫 ES6 純介面的時候,看到 Vue 的雙向綁定,由資料綁定物件,物件連動資料,覺得很方便,查了一些方式理解到,Vue 3的未來都是採用這種叫做 Proxy 的作法來達成,我還以為是 jQuery 的 $.proxy 查了 MDN 的文件才發現大有來頭。

繼續閱讀
2022-03-14 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
JavaScript

[JS] SELECT2 With Bootstrap4 remove button use span

by Mesak 2020-05-22
written by Mesak

應用套件遇到一點小問題

SELECT2 套件 https://github.com/select2/select2 套上樣式 Bootstrap 4 – select2-bootstrap4-theme 的時候

Select2  的版本為 4.1.0-beta.1, Select2-bootstrap4-theme 套用的 Select2 版本為 4.0.6-rc.0 目前看到最大的差異是針對 多選的取消框會有點樣式上的問題

原設計的畫面如下:

繼續閱讀
2020-05-22 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
WordPress

[Plugin] WordPress google CDN 修改為 360 CDN

by Mesak 2014-07-11
written by Mesak

今天看到免費資源網路社群 分享的 libs.useso.com:360 提供免費前端公共庫 CDN 服務,當下有個衝動想把它寫成外掛

因為大部分的部落格,主要的收看群並不是中國的為主,只有中國的部落客與收看者才會需要這種服務,如果放在部落格上,只會影響以外的收看群,所以寫了一個外掛,針對瀏覽器的語系,來判斷是否要不要替換成 360的CDN服務

其實最主要還是 googlefonts 的服務,這個受到的影響最大,其他就還好,本外掛主要根據

  • [WP插件]Open Fonts替换
  • [WP插件]Google Libs替换

這兩篇文章來做基礎替換。

繼續閱讀
2014-07-11 2 comments
0 FacebookTwitterPinterestTumblrRedditLINEEmail
網路資訊

[技巧] 網頁上快速存圖 (三):放大 Google 圖片

by Mesak 2013-12-03
written by Mesak

先前教學的一篇 [技巧] 網頁上快速存圖 (一):縮圖變大圖 針對Google 的圖片是沒有效果的,為什麼呢?

首先要來分析一下 Google的存圖結構,我們就以 這篇文章 來做示範

首先第一個步驟就是複製 第一張圖片的圖片網址

繼續閱讀
2013-12-03 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
PHP

[Plugin] WordPress 標籤雲外掛: Muki Tag Cloud

by Mesak 2013-11-06
written by Mesak

WordPress  用了一年多了,一直都沒機會參透它的程式,這次在一個因緣際會下看了一篇文章:製作不規則形狀的 WordPress 標籤雲 之後,便與 Muki Wu 一起合作開發一款 WordPress 的 Plugin,名為 :Muki Tag Cloud。

這是一款可以將 WordPress 的標籤雲利用 Javascript 隨機編排出位置的 Plugin,利用 jQuery 的 Plugin 程式 jQCloud 來達成的插件。

繼續閱讀

頁次: 1 2

2013-11-06 8 comments
0 FacebookTwitterPinterestTumblrRedditLINEEmail
網路資訊

[技巧] 網頁上快速存圖 (二):取得下一頁圖片

by Mesak 2013-07-14
written by Mesak

繼上一篇 [技巧] 網頁上快速存圖 (一):縮圖變大圖 ,這次要來教的是更進階的技巧。

當我們在看一串圖的時候,有些時候會被分成好幾頁來觀看,如果分頁少一點還可以接受,但是有些網站分頁實在太多,有時候一整套圖十幾張,一頁就分一張,這要抓圖實在有點難,有些人可能會安裝自動分頁軟體來換頁,然後再利用技巧把圖片放大,這是種解決辦法,但是當分頁軟體沒辦法幫助到你的時候,也只能自力救濟了。

這次應用到的技巧一樣是 Jquery ,如果想要學習 Jquery 可以透過一些速成書籍或是線上教學網站 http://learn.jquery.com/ 來學習,或是看中文版的 學習 jQuery 從入門到精通只要兩小時!投影片。

這次的範例網站選了一個圖片很多的 完美女人,這網站就是典型的一張圖一張網頁,要抓圖的方式也是非常簡單。

繼續閱讀
2013-07-14 0 comment
0 FacebookTwitterPinterestTumblrRedditLINEEmail
較新文章
較舊文章

米薩克

米薩克

標籤

3D 3D Print 3D Printer 3DPrintMill 80%鍵盤 A.O.Smith Acer Amacrox amazon amd anacomda Android Android App AORUS APC APS asus atom printer AutoHotKey AverMedia AZIO B.Friend backbone BenQ big5 blog BOX軸 CAMPFIRE AUDIO Cherry CHOC軸 chrome cloud CM Storm CM插針 CODE Codeigniter Computex Cooler Master Corsair cr-30 CSS cube CyberPower DAC DAREU delux DEMON ART DIP Switch DIY docker DSI DTS Ducky dyson EarSonics EaseUS Editor Elecom elos emeditor Ender Ender2s ENERMAX es6 Everything Excel eye tracking Facebook Fidget Figma Filco firefox FLASH Flux Fostex frontend genki Gigabyte git gitea Google Gorilla Gravastar GreaseMonkey GX1 GX7 HomeAssistant HTC i-rocks InFocus Intel ione IROCKS JAKI javascript joke jQuery JVC Kaspersky KBParadise KBT KBtalKing keyboard KS軸 KT軸 laravel LEOPOLD LG LINDY line linebot linux mabinogi macro mdn Mesh Wi-Fi Miracast MMCX moft Mokibo mootools mp3 MSI music MXM n8n Nanotol Netgear Nintendo Switch Noble Audio notebook NS NUARL nuc NVIDIA O-Zone online open overna O環 PaMu Panasonic pbt Perixx Phorus Photoimpact php PING pink plays POIEMA POJUN POJUN 波軍 Print PROXXON QNAP Qualcomm quasar Razer Realforce Redragon RGB RGB 機械式鍵盤 Roccat Rocktek rog Rosewill Router samsung SANWA snapmaker Sony SSD Steel Series step switch sybase Synology t-bone Tampermonkey Tesoro TEX Tobii TP-LINK TSA 密碼鎖 TSA 海關鎖 Tt eSPORTS UPS USB 擷取卡 userscript utf8 V-MODA varmilo vba VentureCraft video Vinpok VJJB vue vuex WASD Whizzer WiDi WiFi WiFi 5 WiFi 6 WIFI 遙控冷氣 Wiha Wii Wizard Wooting Wordpress Wowstick Wowstick Drill Wowstick Mini Wowstick SD XFastest xoops XYZprint XYZprinting youtube ZIPPY zoeao Zowie Zyxel 一氧化碳偵測器 中刻 二色成型 亞立田 人體工學 代買 代購 代運 任天堂 側刻 側背包 光碟機 光磁微動 光軸 免治馬桶 入耳式耳機 全家 凱華 凱酷 利民 剪刀 創想三維 募資 包包 化石 半高軸 印表機 吉米家居 吸塵器 咖啡 喇叭 單機 圖 圖片 多彩 太豪 太陽軸 套筒 家用清潔 家用鍍膜 小米 尖嘴鉗 展碁 工作台 工具箱 工具車 巧克力軸 平衡 廚餘機 彩光 微動開關 微軟 恆溫熱水器 手工具 手把 手柄 手機架 手錶 手鑽 打磨機 扳手 掃地機器人 插座 搖桿 撲克牌 擴香石 擷取卡 攝影 改裝 教學 散打機 文公尺 文具 文字 斜口鉗 旋剛 木頭椅 桌遊 棘輪 椅子 標籤雲 模型 機器人 機械鍵盤 氣炸鍋 沙發 波軍 洗脫烘洗衣機 活動扳手 派美特 淘寶 清潔 減肥 滑板 滑鼠 滑鼠墊 濾壓式 濾紙式 灰軸 烤爐 無刻 無線 無線充電 無線滑鼠 無線熱熔膠槍 無線熱熔膠筆 無線鍵盤 熱水器 熱熔膠 熱熔膠槍 熱熔膠筆 燈 瘋金剛 發光鍵盤 白光 白軸 相機 相機包 真無線藍牙 瞬熱飲水機 矮軸 磁碟分區 積木 積木鍵盤 空氣 空氣淨化器 空氣清淨機 立架 筆記型電腦 簡報 米家 米物 系統轉移 紅光 紅軸 紅龍 紫光 綠光 綠軸 繪圖卡 羅技 美工刀 美洲獅 翻譯 老虎鉗 老貓 耳塞式耳機 耳機 耳罩式耳機 背光鍵盤 自動製冰冰箱 舒壓 英刻 茶軸 茶館 薄膜鍵盤 藍光 藍牙 藍牙4 藍牙5 藍牙喇叭 螢幕 螺絲起子 行動電源 觸控板 設計 變形機構 貼耳式耳機 資料備份 資料救援 走走家具 軌跡球 軟體 迷你魔 遊戲耳機 郵局 酒 鉗子 銀軸 鋼彈 鍍膜 鍵帽 鍵盤 鑰匙圈 防水 集貨 集資 雷射 雷雕 電動 電動起子 電器架 電子鍋 電池 電競 電競椅 電競滑鼠 電競耳機 電競鍵盤 電鑽 電鑽筆 青軸 靜電容鍵盤 靜音 靜音滑鼠 頸掛式 頸掛式喇叭 顯示卡 食記 飲料 骨頭 高腳椅 麥克風 黑軸

近期文章

  • [教學] 利用 n8n 建立 LINE 聊天機器人
  • [開箱] IROCKS K103R 熱插拔無線機械式鍵盤
  • [開箱] IROCKS-K85R 無線機械鍵盤
  • [開箱] IROCKS K75M 銀色上蓋機械式鍵盤
  • [開箱] IROCKS M31E 粉紅色光學遊戲滑鼠

彙整

  • 2025 年 6 月
  • 2025 年 3 月
  • 2024 年 4 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 11 月
  • 2022 年 7 月
  • 2022 年 5 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 2 月
  • 2020 年 12 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 8 月
  • 2020 年 7 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 2 月
  • 2020 年 1 月
  • 2019 年 12 月
  • 2019 年 11 月
  • 2019 年 10 月
  • 2019 年 9 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 5 月
  • 2019 年 4 月
  • 2019 年 3 月
  • 2019 年 2 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 6 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 2 月
  • 2018 年 1 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 10 月
  • 2017 年 9 月
  • 2017 年 8 月
  • 2017 年 6 月
  • 2017 年 4 月
  • 2017 年 3 月
  • 2017 年 2 月
  • 2017 年 1 月
  • 2016 年 12 月
  • 2016 年 11 月
  • 2016 年 10 月
  • 2016 年 9 月
  • 2016 年 8 月
  • 2016 年 7 月
  • 2016 年 6 月
  • 2016 年 5 月
  • 2016 年 4 月
  • 2016 年 3 月
  • 2016 年 1 月
  • 2015 年 12 月
  • 2015 年 11 月
  • 2015 年 10 月
  • 2015 年 9 月
  • 2015 年 8 月
  • 2015 年 7 月
  • 2015 年 6 月
  • 2015 年 5 月
  • 2015 年 4 月
  • 2015 年 3 月
  • 2015 年 2 月
  • 2015 年 1 月
  • 2014 年 12 月
  • 2014 年 11 月
  • 2014 年 10 月
  • 2014 年 9 月
  • 2014 年 8 月
  • 2014 年 7 月
  • 2014 年 6 月
  • 2014 年 5 月
  • 2014 年 4 月
  • 2014 年 3 月
  • 2014 年 2 月
  • 2014 年 1 月
  • 2013 年 12 月
  • 2013 年 11 月
  • 2013 年 9 月
  • 2013 年 8 月
  • 2013 年 7 月
  • 2013 年 6 月
  • 2013 年 5 月
  • 2013 年 4 月
  • 2013 年 3 月
  • 2013 年 2 月
  • 2013 年 1 月
  • 2012 年 12 月
  • 2012 年 11 月
  • 2012 年 10 月
  • 2012 年 9 月
  • 2012 年 8 月
  • 2012 年 7 月
  • 2012 年 6 月
  • 2012 年 5 月
  • 2012 年 4 月
  • 2012 年 3 月
  • 2012 年 2 月
  • 2012 年 1 月
  • 2011 年 12 月
  • 2011 年 11 月
  • 2011 年 10 月
  • 2011 年 9 月
  • 2011 年 8 月
  • 2011 年 7 月
  • 2011 年 6 月
  • 2011 年 5 月
  • 2011 年 4 月
  • 2011 年 3 月
  • 2011 年 2 月
  • 2010 年 11 月
  • 2010 年 10 月
  • 2010 年 9 月
  • 2010 年 7 月
  • 2010 年 4 月
  • 2010 年 3 月
  • 2009 年 11 月
  • 2008 年 12 月
  • 2008 年 10 月
  • 2008 年 9 月
  • 2008 年 8 月
  • 2008 年 7 月
  • 2008 年 6 月
  • 2008 年 4 月
  • 2008 年 3 月
  • 2008 年 2 月
  • 2008 年 1 月
  • 2007 年 12 月
  • 2007 年 11 月
  • 2007 年 10 月
  • 2007 年 9 月
  • 2007 年 8 月
  • 2007 年 7 月
  • 2007 年 6 月
  • 2007 年 5 月
  • 2007 年 4 月
  • 2007 年 3 月
  • 2007 年 2 月
  • 2007 年 1 月
  • 2006 年 12 月
  • 2006 年 11 月
  • 2006 年 10 月
  • 2006 年 9 月
  • 2006 年 8 月
  • 2006 年 7 月
  • 2006 年 6 月
  • 2006 年 5 月
  • 2006 年 3 月
  • 2006 年 2 月
  • 2006 年 1 月
  • 2005 年 12 月
  • 2005 年 11 月
  • 2005 年 10 月
  • 2005 年 9 月
  • 2005 年 8 月

分類

  • 個人配件
  • 咖啡
  • 家用主機
  • 居家
    • 家具
    • 家電
  • 工具
    • 文具
  • 影音
  • 玩具
  • 硬體
    • 3D Printer
    • 其他周邊
    • 喇叭
    • 手把
    • 手機
    • 滑鼠
    • 相機
    • 耳機
    • 鍵盤
    • 電源
  • 碎碎念念
  • 程式
    • Chrome extensions
    • JavaScript
    • PHP
    • Python
    • Vue
    • WordPress
  • 網路資訊
  • 美食
  • 軟體
  • 遊戲
  • 遊玩
  • 運動

書籤

  • SayDigi | 點子生活
  • Sinchen 部落格 電腦3C開箱文與使用心得分享兼美食攝影
  • Chibc’blog 暗月之鏡的部落格
  • MUKI space* 文具,lomo,攝影,電影,生活,設計
  • 樂在設計 提供Wordpress之設定、佈景、外掛相關教學,網頁設計、網站架設、軟體教學、硬體教學、開箱文為主要文章類別,以專業詳細的態度撰寫文章!
  • 老貓測3C 電腦3C科技硬體軟體相關測試與分享
  • 台灣小吃札記  想吃什麼、去哪吃、怎麼吃?歡迎翻開台灣小吃札記。
  • 波蘿日報|Polonews 明星臉,撞臉,臣姦新聞,惡搞轉蛋,各式面具,奇妙商品
  • 3C 達人廖阿輝

About

Mesak

mesak

http://about.me/mesak

Contact:

Mesak Gmail

Histats:

Online:

2025 年 7 月
一 二 三 四 五 六 日
 123456
78910111213
14151617181920
21222324252627
28293031  
« 6 月    
  • Facebook
  • Twitter

@2020- All Right Reserved. Designed and Developed by PenciDesign


Back To Top
米薩克
  • 首頁
  • KBtalKing Pro
  • 關於作者
  • 鍵盤
  • 滑鼠
  • 工具
  • 網站連結
@2020- All Right Reserved. Designed and Developed by PenciDesign