為什麼不能用 Google Apps Script 直接開啟連結?

如果是透過 Google 搜尋點進來這一頁,大概也已經翻遍 Stack Overflow 了吧。

翻到的所有教學都會告訴你,從 Google Docs 或 Sheets 透過 Google Apps Script 取得連結或是 HTML 後,要多使用一層 HTML 製作連結給使用者點擊(通常是透過 Ui 物件)。

到底是為什麼非得要多這一層呢?不能直接叫瀏覽器重新導向嗎?

原因是 Apps Script 會使用 HTML5 的 IFRAME 沙盒功能,導致在 Google Docs、Sheets、Forms 中,自訂指令碼不會呼叫瀏覽器重新導向至回傳的 HTML,用意是避免使用者接觸惡意的 HTML 或是 JavaScript。

當然也還是有特別手段,就是在多出來的那一層 HTML 自動幫使用者點擊,也就是呼叫 click()。雖然功能上是有到位,只是我覺得這不算真正解決啦。
https://stackoverflow.com/a/47098533

參考資料:
https://developers.google.com/apps-script/guides/html/restrictions

1 則留言

發佈回覆給「MIYASHIRO0011」的留言取消回覆