2011-05-04 7 views
0
function translate(lang) { 
    var source = document.getElementById("article").innerHTML; 
    var len = source.length; 

    // Google Language API accepts 500 characters per request 
    var words = 500; 
    document.getElementById("translation").style.display='block'; 

    document.getElementById("translation").innerHTML = ""; 

    for(i=0; i<=(len/words); i++) { 
    google.language.translate (source.substr(i*words, words), 
       "en", lang, function (result) { 
     if (!result.error) { 
      document.getElementById("translation").innerHTML += result.translation; 
     } }); } 

    // Hide the text written in the original language 
    document.getElementById("article").style.display = 'none'; 
    return false; 
} 

일반적으로 번역은 괜찮습니다. 클릭 몇 번 시도한 후 번역 된 페이지의 순서가 잘못되었습니다. 예를 들어, 페이지 :Google 번역

<p>Paragraph 1</p> 
<p>Paragraph 2</p> 
<p>Paragraph 3</p> 
<ul> 
    <li>list 1</li> 
    <li>list 2</li> 
    <li>list 3</li> 
</ul> 

출력 : 왜

<p>Paragraph 3</p> 
<ul> 
    <li>list 1</li> 
    <li>list 2</li> 
    <li>list 3</li> 
</ul> 
<p>Paragraph 1</p> 
<p>Paragraph 2</p> 

어떤 생각?

답변

0

번역 응답이 사용자에게 반환 될 순서를 보장 할 수 없습니다.

다른 종류의 AJAX 요청을 만들 때도 같은 문제가 발생할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이런 종류의 문제를 해결하는 방법을 알고 있습니까? – wordpressquestion

관련 문제