如何用JavaScript偵測網頁瀏覽器是否有擋廣告? 2023 年 12 月 23 日 Magic Len JavaScript 反反廣告應該是大部份有在經營網站的人都想做的事情,筆者也不例外。以前用過一些偵測AdBlock等軟體的套件都因年久失修而失效,因此決定來自己做一個。「AdBlock Checker」是筆者開發的套件,可以偵測網頁瀏覽器是否有擋廣告。 繼續閱讀
幫助存取HTML的時間日期元素值的函式庫 2023 年 12 月 23 日 Magic Len JavaScript 在預設的情況下,基於日期和時間的HTML input元素值是以UTC時區為基準,這很容易造成混淆而誤用。 繼續閱讀
如何根據容器大小自動調整HTML上的文字,使文字儘量不破壞排版 2023 年 12 月 23 日 Magic Len JavaScript 早在2017年筆者在開發前端網頁的時候就遇到兩個問題:如果要做一個網頁,這網頁滿版顯示,在任意螢幕尺寸下都要長的差不多,文字的大小要怎麼處理呢?還有就是在文字高度僅允許一行文字的空間下,要怎麼保證使用者輸入的文字不會因為太多而使得顯示出來的時候換行,或是換太多行了,而導致畫面跑版? 繼續閱讀
如何寫程式讀取中華民國健保卡內的資料?在網頁中也可以讀取嗎? 2023 年 12 月 23 日 Magic Len 作品分享、 JavaScript 中華民國的健保IC卡必須使用相容於PC/SC介面的IC讀卡機來讀取。PC/SC的規範是由微軟與其它IC卡廠商共同訂定出來的,統一了IC卡的介面。因此如果要讀取IC卡,要在環境安裝好讀卡機的驅動程式,並且使用PC/SC的函式庫提供的功能來讀取。不過要使用PC/SC函式庫,並不是每個執行環境都能夠做到,像是網頁瀏覽器現階段應該還做不到,要等Web Smart Card API出來才行,但還是有其它方式... 繼續閱讀
如何寫程式計算時間和日期的差距? 2023 年 1 月 24 日 Magic Len 研究分享、 Rust、 演算法、 JavaScript 有時候我們會需要寫程式去計算兩個時間點的差距,以求得年齡、經過了多少的時間,或是否還在某個期限之內等等的資訊。日(day)與時、分、秒的差距很好算,因為它們是固定的時間(不考慮閏秒)。但年、月就不一樣了,一個月可能有28至31天,一年可能有365或366天,我們無法直接將兩個時間點(的時間戳記)相減之後去除上一個固定的單位(例如拿相差的秒數去除以2592000秒)來算出隔了多少年、月,硬是要這麼算... 繼續閱讀
鋼琴學習之路─第三章:把約翰湯姆遜【教導幼童彈琴】彈完吧! 2023 年 1 月 17 日 Magic Len 音樂心得 這個章節將會練習到更加複雜動聽的曲子,也有跟著伴奏彈奏旋律的練習。難度會較先前有感提升,但並不會太多。那麼就趕快來看看有哪些曲子要彈吧! 繼續閱讀
鋼琴學習之路─第二章:繼續彈約翰湯姆遜【教導幼童彈琴】的曲子 2023 年 1 月 10 日 Magic Len 音樂心得 上一章彈奏的曲子幾乎都是把雙手的大拇指放在同一個C鍵的位置上彈奏。從前面只有3個音的曲子,由中央的C開始往右左兩邊延伸,曲子要彈的音變得愈來愈多,直到最後把所有相鄰的7個自然音級都加進來了。這個章節除了會繼續彈奏類似的曲子之外,手也不再只是放在固定位置,曲子也會由更多種音組成,同一時間也不再只彈一個音。 繼續閱讀
如何寫程式判斷閏年並計算一個月有幾天? 2023 年 1 月 3 日 Magic Len Go、 Java、 Rust、 JavaScript 我們在小學階段都會學到平年(common year)和閏年(leap year)的判斷方式,以及這兩種年份是差在前者的二月有28天,後者則是有29天。所以平年整年一共有365天;閏年整年一共有366年。這是身為一個地球人的基本常識,但在小學的時候,老師可能只會告訴我們把西元年份的數字除以4,如果可以整除,那麼這年就是閏年,否則是平年。老師說的也不能說是錯的,只是不太完整,實際上,閏年的正確判斷方式... 繼續閱讀
鋼琴學習之路─第一章:從約翰湯姆遜【教導幼童彈琴】開始學 2022 年 12 月 29 日 Magic Len 音樂心得 約翰‧湯姆遜現代鋼琴課程(John Thompson's Modern Course for the Piano)是20世紀的鋼琴課程,雖然很久了,但至今仍然實用。縱使其中的【教導幼童彈琴】是針對幼童做設計,讓幼童對於鋼琴有初步的接觸與認識,但作為一個鋼琴初學者,不管年齡多大都可以把自己當作是一個嬰兒來從頭開始學起。 繼續閱讀
如何讓 JavaScript 程式等待(睡眠)一段時間? 2022 年 12 月 27 日 Magic Len 研究分享、 JavaScript 雖然在撰寫程式的時候,在大部份的情況下我們都想要讓程式執行速度愈快愈好。但有時候在寫測試程式或是爬蟲時,我們會希望讓程式等待一段時間再繼續執行,以模擬I/O延遲或是真人操作延遲的效果。不過JavaScript並沒有直接提供讓執行緒睡眠(sleep)的功能,要怎麼模擬出sleep函數呢? 繼續閱讀