использование API Google Translate
здравствуйте.
хочу сделать некий userjs, который берет текст с сайта передает его на гугл, производит транслиретацию и возвращает результат. http://code.google.com/intl/ru-RU/ap...g_started.html почитал доки, вроде бы просто. вот даже пример есть http://code.google.com/intl/ru-RU/ap...sliterate.html но как userjs не хочет работать, пока делал в простейшем варианте(просто статическую строку)
var head=document.getElementsByTagName('head')[0];
var elem=document.createElement('script');
var oScript=head.appendChild(elem);
oScript.setAttribute("src","https://www.google.com/jsapi");
oScript.setAttribute("type","text/javascript");
var elem1=document.createElement('script');
var oScript1=head.appendChild(elem1);
oScript1.setAttribute("type","text/javascript");
oScript1.text='google.load("language", "1"); function initialize() { google.language.transliterate(["привет"], "ru", "en", function(result) { if (!result.error) { var m; if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0)
{
m = result.transliterations[0].transliteratedWords[0]; }
}}); } google.setOnLoadCallback(initialize); ';
затем пытаюсь вывести переменную m с результатом по событию document.addEventListener("DOMContentLoaded",funct ion() {} а в консоли: m - undefined. подскажите как реализовать правильно? |
неужеле никто не сталкивался с подобным.
мне кажется ошибка моя глупая какая-то. подскажите плиз :-? |
зачем так сложно создавать скрипты?
var head=document.getElementsByTagName('head')[0];
var elem=document.createElement('script');
elem.type = "text/javascript";
// а ключ писали? key=INSERT-YOUR-KEY
elem.src = "https://www.google.com/jsapi";
head.appendChild(elem);
var elem1=document.createElement('script');
elem1.type= "text/javascript";
head.appendChild(elem1);
// а ЭТО что такое???
oScript1.text='google.load("language", "1"); function initialize() { google.language.transliterate(["привет"], "ru", "en", function(result) { if (!result.error) { var m; if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0)
{
m = result.transliterations[0].transliteratedWords[0]; }
}}); } google.setOnLoadCallback(initialize); ';
см пример гугла
<script type="text/javascript" src="http://www.google.com/jsapi?key=ТВОЙ_КЛЮЧ"></script>
<script type="text/javascript">
google.load("language", "1");
function initialize() {
// google.language.transliterate( ARRAY STRING слова, STR из какого, STR в какой, FUNCTION колбек)
google.language.transliterate(["Namaste"], "en", "hi", function(result) {
if (!result.error) {
var container = document.getElementById("transliteration");
if (result.transliterations && result.transliterations.length > 0 &&
result.transliterations[0].transliteratedWords.length > 0)
container.innerHTML = result.transliterations[0].transliteratedWords[0];
}
});
}
google.setOnLoadCallback(initialize);
</script>
</head>
<div id="transliteration"></div>
|
Цитата:
|
читайте внимательней тот пример
google.load("language", "1");
function initialize() {
// google.language.transliterate( ARRAY STRING слова, STR из какого, STR в какой, FUNCTION колбек)
google.language.transliterate(["Namaste"], "en", "hi", function(result) {
if (!result.error) {
var container = document.getElementById("transliteration");
if (result.transliterations && result.transliterations.length > 0 &&
result.transliterations[0].transliteratedWords.length > 0)
// ВОТ ваш текст!!--------------
container.innerHTML = *!* result.transliterations[0].transliteratedWords[0];*/!*
// ------------------
}
});
}
google.setOnLoadCallback(initialize);
я не буду регаться там не стоит же? |
Цитата:
Цитата:
я хочу реализовать так, чтобы принималась строка на русском, а выдавалось на англ. |
а с сервера что приходит???
посмотрите может он пишет пустое место тем, кто не берет API по ключу |
Цитата:
если тоже самое, но сохранять в переменную, пишет Uncaught exception: ReferenceError: Undefined variable: m :-? |
вообщем, если я не ошибся, то причина в этом:
Цитата:
|
вот тебе и ошибка))
|
Цитата:
только все равно, даже с работающим вариантом с англ на рус, в переменной не запоминается результат, видимо из гугловской функции google.language.transliterate никак не вытащить кроме как через innerhtml, тк всегда на переменную ругается как undefined. |
не может такого быть
если она ложится в innerHTML, то у неё значение есть. всетаки надо установить :) но у меня времени нет |
Цитата:
надеюсь, что время появится и вы мне подскажите, я уже голову сломал че не так |
| Часовой пояс GMT +3, время: 02:24. |