追了一下錯誤訊息,Chrome 不讓 HTML5 去呼叫由 Google App-Scripts 傳回來的筆順資料,原本的設計,回傳的格式是用 JSON 的 MimeType ,以 callback 的方式傳給 HTML5 程式,本來運作的好好的,多半是 Chrome 的更新,又改了什麼預設的動作。
主要的錯誤訊息是:
Refused to execute script from '...... 略 ......' MIME type ('application/json') is not executable, and strict MIME type checking is enabled.
看來 Google Apps-Script 那邊傳來 JSON 的「application/json」header,Chrome 並不把它當可執行的程式。找不到如果修改 Chrome 的地方,索性修改 Google Apps-Script 的程式碼,可以一勞永逸。
將最後傳值原來的:
setMimeType(ContentService.MimeType.JSON)
改為:
setMimeType(ContentService.MimeType.JAVASCRIPT)
以 JavaScript 的 MimeType 回傳,這樣,Chrome 總不會再拒絕讓它執行了吧!仔細地想了一想,啊!會不會本來就應該這樣寫,只是之前瞎貓碰到死耗子罷了!Chrome 常常在更新,對寫程式的人來說,有時也是困擾,這兩年來已經遇到好幾次這樣了。
感謝顏老師幫忙解決了我們的困擾!
回覆刪除