我正在爲包含多種語言內容的網站開發一些JavaScript。我想使用谷歌翻譯API來允許用戶選擇一個詞(或短語)並自動提供翻譯。目前,我只是讓它提醒測試結果。用谷歌翻譯API(和jQuery)翻譯用戶選擇的文本
這是我到目前爲止有: 的google.load( 「語言」, 「1」);
function getSelection() {
var selection = (!!document.getSelection) ? document.getSelection() :
(!!window.getSelection) ? window.getSelection() :
document.selection.createRange().text;
if (selection.text)
selection = selection.text
console.log(selection);
return selection
}
$(document).ready(function() {
$(window).mouseup(function() {
var selection = getSelection();
if (selection != "") {
google.language.translate(selection, "", "en", function(result) {
if (!result.error) {
alert(result.translation);
} else {
alert(result.error);
}
});
}
});
});
,我快到的問題是,我的getSelection()函數返回一個Range對象,這與谷歌的language.translate()函數顯然是不相容的。我真正需要的是一種從Range中檢索實際文本的方式,作爲一個字符串,所以我可以通過它。據我所知,有一些非常簡單,明顯的方法可以做到這一點,我只是缺少(是的,我嘗試使用selection.text),但我對JavaScript的使用經驗有限,Google搜索它沒有透露任何有用的信息。
任何人都可以幫忙嗎?
這是臨界的,但你仍然應該給予自己臭名昭着的發問者 - 誰有答案 - 但 - 唉 - 腦 - 是 - Tricky - 東西;-) +1爲您評論! – 2010-01-12 01:51:06