谷歌翻译javascript片段不工作

txu3uszq  于 2023-01-24  发布在  Java
关注(0)|答案(3)|浏览(135)

我试着使用w3schoolidocom的代码片段,它在w3school上工作,但在我的电脑上不工作。

<div id="google_translate_element"></div>
<script>

function googleTranslateElementInit() {
    new google.translate.TranslateElement({
        pageLanguage: 'en'
    }, 'google_translate_element');
}

</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

我在控制台上看到了以下内容。

translate.html:18 GET file://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit net::ERR_FILE_NOT_FOUND
7eumitmz

7eumitmz1#

w3school上的代码片段确实有一个bug,它要求添加以下代码行以包含Google的API:

<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

不幸的是,后面的**//使它指向一个本地文件。因此,除非你已经下载了这个库并将它与你的html文件捆绑在一起,否则它将不指向任何地方。相反,通过添加https:**链接到在线库

<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
kmbjn2e3

kmbjn2e32#

当你在你的机器上运行它的时候,你把它作为一个本地文件来运行,这样,从//translate.google等加载的源文件,会试图在google上找到这个文件。
如果将其替换为:

<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

你会发现它不再试图查找本地文件(iIndiee.在你的机器上),而是会在互联网上查找。

dfty9e19

dfty9e193#

纯javascript,可以从浏览器调试控制台,或在webview,或任何网站集成。在这个例子中,我们只是找到元素,并改变他的内容按钮(你可以改变任何元素你想要的)

importScriptURI("https://translate.google.com/translate_a/element.js"); 
document.getElementsByTagName("h1")[0].innerHTML='<div id="google_translate_element"></div>';
setTimeout(()=>{ new google.translate.TranslateElement({pageLanguage: 'en'},'google_translate_element');},1000);

相关问题