設計過程遇到一大堆的窟窿
本想解決一個,就發佈一篇網誌
但那是不可能的
除了可能根本無法完成 英文學習站 計畫
(當然也可將網誌視為失敗紀錄)
在解決問題的過程中,一關接著一關
整個腦袋想著各種的可能
實在是分不出精神來做這事
目前只能寫寫回憶錄了
- Google 發音 時靈時不靈,尤其在 Google 的 blogger,後來發現 Google Drive 內的網頁也會,本機的網頁比較不會。直覺的反應就是 Cache,所以在 chrome 的 紀錄/清除瀏覽資料 中勾選 快取圖片和檔案,解決了時靈時不靈的狀況,變成本機正常,Google 內的都不正常。
- 懷疑是 google 的 blogger 內的某一些 script 導致錯誤,所以將網頁移往 Google Drive。但還是一樣。
- 利用 chrom 內 網頁中按滑鼠右鍵,選擇 檢查元素,切換 Network 頁簽,檢查網路傳輸的差異,發現不能發音是 Status canceled,利用 chrome://net-internals ,選擇 Events,發現 正不正常 的差異是,HTTP 協議 Header 中 Referer,本機正常 沒有 Referer,Google 內的網頁不正常 都有 Referer,推測是 Google 發現 Referer 來自 Google 本身,所以回覆了404 not found。
- 本以為 ajax.setRequestHeader("Referer", ""); 能消除 Referer,發現安全性問題使得不能作用,隨後安裝 chrome 的擴充功能 Referer Control,就成功了,但是 IE 怎麼辦?之後又發現 https:// 到 http:// 也有安全性問題,不會傳送 Referer,所以將 https://translate.google.com.tw/translate_tts 改成 http://translate.google.com.tw/translate_tts 就完成了。
- 雖然 chrome 成功,IE 居然不行,虧我還是從微軟的網站上找到的資料。試試看把 audio 藏在 iframe 吧!
- 雖然 iframe 把 Referer 移除,但是裡面的 audio 移除了一半,不知為何 IE 連送三次 Request,第三次才移除 Refere_r,但還是不說話。
- 網路上有人猜測,只要有 Referer,translate_tts 就不動作,害我還懷疑是 google 的 blogger 內的某一些 script 導致錯誤,大動干戈。
- 最後放棄了,把 IE 獨立出來。
另一個問題是 Google Drive 內的網頁問題,因為一時懶惰,沒有看清說明,直接使用 share 的網址,如下 https://drive.google.com/file/d/0B7u4moMmo8nDOERrYlFDRm9NaUU 一直不成功,直到最後才發現要改成 https://googledrive.com/host/0B7u4moMmo8nDOERrYlFDRm9NaUU。
沒有留言:
張貼留言