3

我有一个简单的必应翻译示例,但它不适用于谷歌浏览器。

我不明白是 bing 问题还是我的代码错误。

这是我的示例的代码

<!doctype html>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">  
   function translate() {
   document.getElementById('trans').innerHTML="";
   var text= document.getElementById('ori').value;
   window.mycallback = function(response) {
   document.getElementById('trans').innerHTML=response;
   }

   var languageFrom = document.getElementById("langpairFROM").value;
   var languageTo = document.getElementById("langpairTO").value;
   var s = document.createElement("script");
   s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=68D088969D79A8B23AF8585CC83EBA2A05A97651&from=" + languageFrom + "&to=" + languageTo + "&text=" + text;
document.getElementsByTagName("head")[0].appendChild(s);
   }
</script>
</head>

<body>
<center>


<select id="langpairFROM" STYLE=" font-size : 11pt">
  <option value="de">German</option>
  <option value="en">English</option>
  <option value="ru">Russian</option>                                         
</select>

<select id="langpairTO" STYLE=" font-size : 11pt">
  <option value="ru">Russian</option>
  <option value="de">German</option>
  <option value="en">English</option>  
</select>

<button type="input" onclick="translate()" >Translate</button> 

<div >
  <textarea id="ori" name="translate" ></textarea> 
</div>

<div id="translationField">
  <textarea id="trans" >Translated Text</textarea> 
</div
</center>
</body> 

</html> 

这是 jsfiddle 示例

4

2 回答 2

2

因为你也有一个<textarea>名为translate.

更改函数名称或<textarea>名称:

JSFidde

PS。我假设您encodeURIComponent在生产代码中使用类似“清理”您的网址的东西。

于 2012-11-05T09:58:34.233 回答
0

我已经修改了你的代码。它现在也适用于 Chrome

<!doctype html>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">  
  function translate() {
  document.getElementById('translate_to').innerHTML="";
  var text= document.getElementById('translate_from').value;
  window.mycallback = function(response) {
  document.getElementById('translate_to').innerHTML=response;
}

var languageFrom = document.getElementById("langpairFROM").value;
var languageTo = document.getElementById("langpairTO").value;
var s = document.createElement("script");
s.src = "http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback&appId=68D088969D79A8B23AF8585CC83EBA2A05A97651&from=" + languageFrom + "&to=" + languageTo + "&text=" + text;
document.getElementsByTagName("head")[0].appendChild(s);
}
</script>
</head>
<body>
<form action="javascript:translate()">
<center>
<select id="langpairFROM" STYLE=" font-size : 11pt">
  <option value="de">German</option>
  <option value="en" selected>English</option>
  <option value="ru">Russian</option>                                         
</select>
<select id="langpairTO" STYLE=" font-size : 11pt">
  <option value="ru">Russian</option>
  <option value="de" selected>German</option>
  <option value="en">English</option>  
</select>
<button type="submit">Translate</button> 
<div >
  <textarea id="translate_from" name="translate_from" ></textarea> 
</div>
<div id="translationField">
  <textarea id="translate_to" >Translated Text</textarea> 
</div
</center>
</form>
</body> 
</html> 
于 2014-05-28T23:13:22.497 回答