Есть две рабочие ссылки чтения китайского через гугл и бин
https://translate.google.ps/translate_tts?tk=50593...
https://www.bing.com/translator/api/language/Speak...
Есть вот такой рабочий скрипт:
<script>
;(function(){
var player = new Audio();
var buttons = document.querySelectorAll('div.liju ul li');
buttons.forEach(btn => btn.addEventListener('click', play));
function assignLocation(urlParams) {
const siteUrl = "https://translate.google.ps/translate_tts";
function serializeParams(params) {
return Object.keys(urlParams).reduce((acc, cur) => {
return acc += `&${ cur }=${encodeURIComponent(urlParams[cur])}`;
}, '').replace(/^&/, '');
}
document.getElementById('trn').src = `${siteUrl}?${serializeParams(urlParams)}`;
}
let url = {
//tk:'505935%7C7C631501',
ie:'UTF-8',
tl:'zh',
total:50,
idx:0,
textlen:80,
client:'tw-ob',
q: '二'
};
function play(evt) {
url.q = evt.target.textContent;
url.textlen = evt.target.textContent.length;
url.total = evt.target.textContent.length;
console.log (url)
assignLocation(url);
}
})();
</script>
Я попытался изменить скрипт для переводчика гугл, и вот что получилось, для этой ссылки
https://www.bing.com/translator/api/language/Speak...<script>
;(function(){
var player = new Audio();
var buttons = document.querySelectorAll('div.liju ul li');
buttons.forEach(btn => btn.addEventListener('click', play));
function assignLocation(urlParams) {
const siteUrl = "https://www.bing.com/translator/api/language/Speak";
function serializeParams(params) {
return Object.keys(urlParams).reduce((acc, cur) => {
return acc += `&${ cur }=${encodeURIComponent(urlParams[cur])}`;
}, '').replace(/^&/, '');
}
document.getElementById('trn').src = `${siteUrl}?${serializeParams(urlParams)}`;
}
let url = {
//locale:'zh-CN',
gender:'male',
media:'audio/mp3',
text:'二'
};
function play(evt) {
url.q = evt.target.textContent;
url.textlen = evt.target.textContent.length;
url.total = evt.target.textContent.length;
console.log (url)
assignLocation(url);
}
})();
</script>
Как сделать этот скрипт рабочим и где ошибка?