iou3344 2021-10-03 14:48 采纳率: 85.2%
浏览 70
已结题

如何一进入页面就自动通过ajax把指定div的内容翻译成英文,并直接替换原文本呢?

以下这段js是有效的,但是能不能改造成一进入页面就通过ajax自动将指定div(id="ajax")的内容翻译成英文,并直接替换原文本呢?
PS:
1、appid和key都是有效的,方便你测试。
2、其中的md5,您需要从这里下载后的文件解压获得,以方便您本地测试哈。


感谢!

<!doctype html>
<head>
<meta charset="utf-8"/>
<style>
#ajax{
    /*flex 布局*/
    display: flex;
    /*实现垂直居中*/
    align-items: center;
    /*实现水平居中*/
    justify-content: center;
    
    text-align: justify;
    height:200px;
    background: #000;
    margin:0 auto;
    color:#fff;
}
</style>
</head>
<body>
<div>可打开浏览器控制台查看结果</div>
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="./md5.js"></script>
<script type="text/javascript">
var appid = '20210930000960749';
var key = 'kGf34UMTwrHoXe6XOPZ3';
var salt = (new Date).getTime();
var query = 'apple';
// 多个query可以用\n连接  如 query='apple\norange\nbanana\npear'
var from = 'en';
var to = 'zh';
var str1 = appid + query + salt +key;
var sign = MD5(str1);
$.ajax({
    url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
    type: 'get',
    dataType: 'jsonp',
    data: {
        q: query,
        appid: appid,
        salt: salt,
        from: from,
        to: to,
        sign: sign
    },
    success: function (data) {
        console.log(data);
    } 
});

</script>
<div id="ajax">如何一进入页面就通过ajax自动将本div(id="ajax")的内容翻译成英文,并直接替换原文本呢?</div>
</body>
  • 写回答

2条回答 默认 最新

  • 广大菜鸟 2021-10-03 16:12
    关注

    根据id获取

     
    <!doctype html>
    <head>
    <meta charset="utf-8"/>
    <title>test</title>
    <style>
    #ajax{
        /*flex 布局*/
        display: flex;
        /*实现垂直居中*/
        align-items: center;
        /*实现水平居中*/
        justify-content: center;
        text-align: justify;
        height:200px;
        background: #000;
        margin:0 auto;
        color:#fff;
    }
    </style>
    </head>
    <body>
    <div>可打开浏览器控制台查看结果</div>
    <div id="ajax">apple banana</div>
    <!-- <div id="ajax">如何一进入页面就通过ajax自动将本div(id="ajax")的内容翻译成英文,并直接替换原文本呢?</div> -->
    <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="./md5.js"></script>
    <script type="text/javascript">
    var appid = '20210930000960749';
    var key = 'kGf34UMTwrHoXe6XOPZ3';
    var salt = (new Date).getTime();
    var query = document.getElementById("ajax").innerHTML;
    // 多个query可以用\n连接  如 query='apple\norange\nbanana\npear'
    var from = 'en';
    var to = 'zh';
    var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
    if(reg.test(query)){//有中文
        from = 'zh';
        to = 'en';
    }
    var str1 = appid + query + salt +key;
    var sign = MD5(str1);
    $.ajax({
        url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
        type: 'get',
        dataType: 'jsonp',
        data: {
            q: query,
            appid: appid,
            salt: salt,
            from: from,
            to: to,
            sign: sign
        },
        success: function (data) {
            console.log(data);
            let info ="";
            for ( var i = 0 ; i < data.trans_result.length ; i++ )
            {
                info  += data.trans_result[i].dst;
            }
            document.getElementById("ajax").innerHTML = info;
        } 
    });
    </script>
    </body>
    

    img

    Class方法

     
    <!doctype html>
    <head>
    <meta charset="utf-8"/>
    <title>test</title>
    <style>
    #ajax{
        /*flex 布局*/
        display: flex;
        /*实现垂直居中*/
        align-items: center;
        /*实现水平居中*/
        justify-content: center;
        text-align: justify;
        height:200px;
        background: #000;
        margin:0 auto;
        color:#fff;
    }
    </style>
    </head>
    <body>
    <div>可打开浏览器控制台查看结果</div>
    <div class="ajax">apple banana</div>
    <!-- <div id="ajax">apple banana</div> -->
    <!-- <div id="ajax">如何一进入页面就通过ajax自动将本div(id="ajax")的内容翻译成英文,并直接替换原文本呢?</div> -->
    <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="./md5.js"></script>
    <script type="text/javascript">
        function getClass(className) //获得标签名为tagName,类名className的元素
        {
            if(document.getElementsByClassName) //支持这个函数
            {        
                return document.getElementsByClassName(className);
            }
            else
            {   
                var tags=document.getElementsByTagName("*");//获取标签
                var tagArr=[];//用于返回类名为className的元素
                for(var i=0;i < tags.length; i++)
                {
                    if(tags[i].class == className)
                    {
                        tagArr[tagArr.length] = tags[i];//保存满足条件的元素
                    }
                }
                return tagArr;
            }
        }
    </script>
    
    <script type="text/javascript">
    var appid = '20210930000960749';
    var key = 'kGf34UMTwrHoXe6XOPZ3';
    var salt = (new Date).getTime();
    var tmpList = getClass("ajax");// only one item
    var query = tmpList[0].innerText;
    // 多个query可以用\n连接  如 query='apple\norange\nbanana\npear'
    var from = 'en';
    var to = 'zh';
    var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
    if(reg.test(query)){//有中文
        from = 'zh';
        to = 'en';
    }
    var str1 = appid + query + salt +key;
    var sign = MD5(str1);
    $.ajax({
        url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
        type: 'get',
        dataType: 'jsonp',
        data: {
            q: query,
            appid: appid,
            salt: salt,
            from: from,
            to: to,
            sign: sign
        },
        success: function (data) {
            console.log(data);
            let info ="";
            for ( var i = 0 ; i < data.trans_result.length ; i++ )
            {
                info  += data.trans_result[i].dst;
            }
            tmpList[0].innerText = info;
        } 
    });
    </script>
    </body>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 已采纳回答 10月3日
  • 修改了问题 10月3日
  • 修改了问题 10月3日
  • 展开全部

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP