gpt4 book ai didi

javascript - Chrome 中的 Gtranslate 模块 "Cannot read property ' G' 为未定义错误

转载 作者:行者123 更新时间:2023-12-01 05:38:57 27 4
gpt4 key购买 nike

我正在尝试向 Drupal 中的 Gtranslate 模块添加附加功能,使其成为语言切换 block 。当点击 gtranslate block 时,url 也会重定向到所需的语言版本,如 ****/es/****。这样,我可以使用 gtranslate 模块来处理不重要的文本,但使用实体翻译来为重要内容提供精确的人工翻译。

我通过编写一个新的 js 并将单击事件附加到 gtranslate block 项来做到这一点。我用的是

window.location.replace(); 

重定向页面。该功能在 Firefox 中运行良好。然而,在 Chrome 中,它是随机工作的。 (重定向始终有效,但谷歌翻译框架有时不显示。)

控制台日志捕获错误,这是

"Uncaught TypeError: Cannot read property 'G' of undefined". 

谷歌翻译框架也是一个js文件。并且翻译框架是由iframe渲染的。我已经尝试过

$('iframe').load(function(){...});

但这将禁用重定向代码。不知道现在该去哪里。

希望有人遇到过同样的问题并提供解决方案。

非常感谢。

最佳答案

如果有人遇到同样的问题,这是我对此问题的解决方案。

这是由异步脚本加载顺序引起的。谷歌翻译脚本从谷歌CDN加载,自定义脚本从Drupal加载。通常,自定义脚本的加载速度比谷歌翻译脚本更快。因此,当您在自定义脚本中触发谷歌翻译事件时,它无法找到谷歌翻译脚本中定义的变量。

理想的解决方案是使用promisecallback函数使异步加载按正确的顺序进行。当我修复它时,我没有那么多知识。因此,我只是在加载谷歌翻译脚本后使用 setTimeOut(function () {}, 500) 异步运行我的自定义脚本。

这不是一个完美的解决方案,甚至不是一个好的解决方案,但它做到了我想要的。如果我遇到类似的问题,我将来会发布更好的解决方案。

关于javascript - Chrome 中的 Gtranslate 模块 "Cannot read property ' G' 为未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32126818/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com