美文网首页
谷歌翻译插件使用时 遇到的问题

谷歌翻译插件使用时 遇到的问题

作者: Uhiroshi | 来源:发表于2022-07-21 20:47 被阅读0次

    最近使用谷歌翻译的插件,发现直接使用网上的资源可能会出现链接超时错误,附上本地静态资源链接:

    链接:https://pan.baidu.com/s/12QcRb-WOY0eSc4OhlcgG0g

    提取码:ji90

    首先是成功后出现的调用资源的顺序,可以看看自己的项目是在哪一步,没有被调用到什么资源。

    正确的调用顺序

    第一次遇见的BUG ——没有加载完整资源

    看自己的前端network,参考上面的正确的调用顺序,发现自己的页面调用到element.js?cb=goodleTranslateElementInit后面就没调用其他翻译中的资源了。
    (正确的应该会调用element_**.js,element_main.js、element.js)


    调用的资源只有自己写的element.js?cb=goodleTranslateElementInit

    有可能是你element.js、element_main.js、你选择的那个语言编码js(比如中文是main-ZH-cn.js),看看这几个文件中有没有出现resourceUrl这个变量。如果有,有两种方法:
    1.去掉所有element.js、element-main.js、你所用到的翻译语言js(比如英文是main_en.js)、的resouceUrl,主要是下面贴代码的这几个文件。


    注意这里的资源位置变量

    2.第二种方法是我在项目中遇见的,就是把所有的调用资源的语句前面加上resourceUrl,,,,,,,,,

    下面是这几个需要去掉或加上的js文件,大家根据自己的情况而定:
    注意resouceUrl + "/js/te_bk.gif" 需要在原来的js前加一个"/",不要出现路径拼接的问题

    element.js ———位置在文件的最后面

            var b = s + h;
            c._pah = h;
            c._pas = s;
            c._pbi = resourcesUrl + '/js/te_bk.gif';
            c._pci = resourcesUrl +'/js/te_ctrl3.gif';
            c._pli = resourcesUrl +'/js/loading.gif';
            c._plla = h+'/translate_a/l';
            c._pmi = resourcesUrl +'/js/mini_google.png';
            c._ps = resourcesUrl + '/css/translateelement.css';
            c._puh = resourcesUrl + '/translate.google.com';
            _loadCss(c._ps);
            if(localLanguage == 'en'){
                _loadJs(resourcesUrl + '/js/main.js');
                
            }else{
                _loadJs(resourcesUrl + '/js/main_'+localLanguage+'.js');
            }
    

    element_ZH-CN.js ————位置同样在项目的后面

            else {
                var C = g._pas + g._pah + A,
                    D = document.createElement("script");
                D.type = "text/javascript";
                D.charset = "UTF-8";
                D.src =  resourcesUrl + "/js/element_main.js";
                var E = document.getElementsByTagName("head")[0];
                E || (E = document.body.parentNode.appendChild(document.createElement("head")));
                E.appendChild(D)
            }
            e("google.translate.m", f);
            e("google.translate.v", h)
        };
    

    main.js————同样在项目最后

            else {
                var D = h._pas + h._pah + B,
                E = document.createElement("script");
                E.type = "text/javascript";
                E.charset = "UTF-8";
    //            E.src = D;
                E.src = resourcesUrl + "/js/element_main.js";
                var F = document.getElementsByTagName("head")[0];
                F || (F = document.body.parentNode.appendChild(document.createElement("head")));
                F.appendChild(E)
            }
            f("google.translate.m", g);
            f("google.translate.v", k)
        };
    }).call(window)
    

    第二次遇见的BUG

    localLanguage变量未定义

    在网上搜这个error可能是因为该变量上一行的拼写错误,于是我localLanguage定义放在了第一行,,,,,结果还是不行,最后发现截图中选中的那条引用语句位置不对。


    引用js位置不对

    这条js引用应该写在


    写在初始化js语句的后面
    让localLuanguage去调用系统中的语言,不去使用谷歌翻译插件。

    相关文章

      网友评论

          本文标题:谷歌翻译插件使用时 遇到的问题

          本文链接:https://www.haomeiwen.com/subject/onvsirtx.html