雜談:為什麼Facebook粉絲專頁外掛程式總是會顯示錯誤訊息? / TALK: Why Does the Facebook Fan Page Plugin Always Show an Error Message?
使用Facebook粉絲專頁外掛程式時,在瀏覽器的開發人員工具控制台會顯示錯誤訊息。但似乎可以不用理會。
Facebook粉絲專頁外掛 / Facebook Fan Page Plugin
https://developers.facebook.com/docs/plugins/page-plugin/
「布丁布丁吃什麼?」使用了Facebook的粉絲專業外掛來顯示Facebook粉絲專頁「布丁布丁吃什麼?」的內容。
Facebook的粉絲專業外掛程式通常顯示在側邊欄或是文章最下面的位置。
控制台的錯誤訊息 / Error Messages in Console
然而如果你打開瀏覽器的開發人員工具,在控制台裡就會出現大量的錯誤訊息:
iYyn4QY3040.js?_nc_x=Dgnfsu-hNyu:69 ErrorUtils caught an error:
Could not find element "u_1_17_C9" [Caught in: Module "__elem_072b8e64_1_4_4C"]
Subsequent non-fatal errors won't be logged; see https://fburl.com/debugjs.
從錯誤資訊跟發生錯誤的程式碼來看,這是Facebook的粉絲專頁外掛導致的錯誤。但這個錯誤是什麼意思呢?我該怎麼處理它?
Session異常所導致的錯誤 / Errors Caused by Session Anomalies
https://stackoverflow.com/a/53279469
根據misorude跟Himanshu Aggarwal的解釋,這似乎是因為瀏覽「布丁布丁吃什麼?」時載入Facebook粉絲專頁外掛所使用的session,跟Facebook粉絲專頁自身的session不同,才會導致這個錯誤訊息的產生。Aggarwal說開啟新頁籤並登入Facebook之後就能解決持續出現錯誤的問題,不過此方法在我目前的電腦上無法生效。
儘管如此,大家對此錯誤訊息的建議都是:可以不用理會。因為錯誤訊息只會出現在開發人員使用的主控台,不會對一般使用者造成影響。但是我就是那個開發者。Facebook粉絲專頁外掛顯示的錯誤會讓我跟其他程式的錯誤混淆在一起,對開發帶來額外的混亂。真的是很令人困擾。
延遲載入 / Lazy Loading
https://developers.facebook.com/docs/plugins/page-plugin?locale=zh_TW
目前比較可行的做法大概是幫Facebook粉絲專頁外掛加上「data-lazy="true"」,讓瀏覽器捲動到Facebook粉絲專頁外掛的位置後才開始載入。
這樣可以讓網頁剛開始讀取的時候不會顯示Facebook粉絲專頁外掛的錯誤,而是直到捲動網頁到Facebook粉絲專頁外掛時才會出現。算是稍微降低了錯誤訊息帶來的困擾吧。
如果你也遇過一樣問題的話,歡迎在下面舉個手吧!