1
我寫一個函數誰得到從谷歌音頻元素翻譯:谷歌翻譯文本到語音操作已取消的
Interface.prototype.say = function(text) {
var audio = new Audio();
audio.src ='http://translate.google.com/translate_tts?ie=utf-8&tl=fr&q=' + escape(text);
audio.play();
console.log(audio.src);
}
audio.src
返回正確的字符串翻譯,但它並沒有說什麼。在控制檯中的網絡部分,我發現:
translate_tts?ie=utf-8&tl=fr&q=Initialisation%20termine
translate.google.com
GET
(canceled)
Pending
game.php:1
Parser
正如您所看到的,文件請求已被取消。如果我點擊鏈接(第一行),它會很好地工作。似乎只有當我嘗試將文件請求到其他域時才起作用,但它在Google翻譯域中完美工作。
什麼問題?
解決方案:
Interface.prototype.say = function(text) {
var section, frame;
section = document.getElementsByTagName("head")[ 0 ];
frame = document.createElement("iframe");
frame.src = 'http://translate.google.com/translate_tts?ie=utf-8&tl=fr&q=' + escape(text);
section.appendChild(frame);
}
謝謝,它似乎與iframe很好地工作。我在問題中添加了解決方案。 – guest459473