今天的事件發生在iPhone上面
一個簡單到不行的html
竟然Debug了一整天

故事的開頭
是朋友託我做一個網頁
輸入學號
可以查到該名學生的考試成績

聽起來有夠簡單
一個輸入框,一個搜尋按鈕
一個表格

用線上工具把csv轉成json
使用jQuery做select
一個html就可以搞定
連拆js檔案都不用
預估一個小時可以完成
而且大概有40分鐘是處理資料

實做上也沒什麼毛病
一路順順的寫下來
除了excel轉txt亂碼
欄位名稱空白、特殊字元等等小麻煩

完成後在輸入框輸入學號
按下搜尋,看到資料跳出來
把html檔案傳給朋友,準備收工
看了一下時間,剛好一個小時

正當我還在佩服這精準的工時估計
朋友竟然說網頁點了沒反應
真的是要尷尬死

一開始以為是手機無法開啟
但我用我的Android開,顯示正常
應該是在iOS上面出了點毛病

隔天剛好去她家
現場Debug
我深信jQuery就是為了解決跨瀏覽器而生的
iPhone雖然今年到14了
但不可能不支援吧

上網速速查了關鍵字
jQuery not working on iOS
還真的有幾篇
說是onclick事件要用特殊寫法之類的

照本宣科複製貼上
沒想到還是沒用
任你按多大力
表格就是沒有資料

接著我開始懷疑是臉書的問題
因為我們是在messenge應用程式
直接開啟那個html檔案
所以我改用gmail傳檔案
下載到iPhone內開啟
悲劇的是一樣不行

難道jQuery真的已死?
想看個log確認問題
但手機上面沒有F12
也無法用開發者工具debug

只好退到鑽木取火的時代
寫個最簡單的alert印出log
出乎意料的是
這次連alert都沒有跑出來

這個時候才隱隱約約覺得
我是不是又錯怪人了?
趕快用原生的js
document.getElementById
發現一樣沒有alert

到這邊問題應該就確定了
就是iOS不允許執行檔案內容的js

因為正常開發
都是把網頁掛到某個網站
而不是把html丟給別人
所以沒有遇過這種問題

然而這也不是什麼難題
速速在Gitlab開一個新的Repository
弄個簡單的page掛上去
有了domain的html
終於搜尋正常了

一段不到10行的邏輯
差點讓我去跟公司辭職
說我不配當工程師了
連Html都刻不出來
謹記之

下回預告

行之有年的資料庫密碼設定
別人都可以,就我不行
到底是什麼妖魔鬼怪改了我的token?

下一回
資料庫密碼失敗Bug事件