html标签中lang属性踩的一个小坑,日常中还是需要留意的风险点

html中lang是什么意思

在html中lang是英语language的缩写,是语言的意思。

HTML 的 lang 属性可用于声明网页或部分网页的语言,这对搜索引擎和浏览器是有帮助的。
html lang的定义作用

一般大家可能在前端项目的index.html入口html标签用的lang多一点,比如:

html 复制代码
<!DOCTYPE html>
<html lang="en"><!--很多人默认都没有添加lang属性,默认会根据自己浏览器语言配置同步-->
    <head>
        <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Vite + Vue + TS</title>
    </head>
    <body>
        <div id="app"></div>
        <script type="module" src="/src/main.ts"></script>
    </body>
</html>
html标签用的lang时的一个小坑

因为项目只有是国内使用的,没有中英文切换功能。因为疏忽html的lang为"en"一直忘了修正,因为没有发现啥影响也没在意。项目页面内部有大量的广告行业英文缩写,比如CPC(Cost Per Click ),CPM(** Cost Per Click ),CPD(*Cost Per Click )等等,然后浏览器(可能是国内的某些浏览器自带翻译器的那种)碰到英文就自动提示需要翻译,用户可能一直也把翻译默认打开着。

广告行业有一个缩写叫CPC(CostPerClick每次点击成本)。然而某些国产浏览器自带的翻译器确翻译成了中国的政党名称,导致用户反应为何有这样的名称。 案例:

解决方案

最后改为lang="zh"就解决了误会。

html 复制代码
<!DOCTYPE html>
<html lang="zh">
    <head>

    </head>
</html>

日常在使用中,还是需要留意一下此种问题。如果需要有多语言切换的,顺便也要切换lang配置编码。

js 复制代码
    // 动态修改html lang
    document.getElementsByTagName("html")[0].lang = 'xxxx';
相关推荐
钛态5 小时前
前端安全防线:CSRF 攻击链路与双重 Token 校验的工程实现
前端·vue·react·web
张拭心6 小时前
技术管理笔记:让我“燃尽”的一天
前端
不好听6137 小时前
BFF 架构实战:从前端直调 API 到加入中间层
前端·架构
不好听6137 小时前
前端跨域完全指南:从为什么报错到三种解决方案
前端
三8447 小时前
路由策略/控制 配置双点双向路由重发布
服务器·前端·javascript
Qimooidea7 小时前
祁木 CAD Translator 工程图纸出海实战指南
服务器·前端·安全
小林ixn7 小时前
从BFF到SSE:我在Vue项目里藏了个“AI翻译官”
前端·vue.js·vite
元气少女小圆丶8 小时前
unity发布web嵌入到前端页面的接受参数
前端·unity·webgl
工业HMI实战笔记8 小时前
【拯救HMI】:低碳制造:自动化技术如何助力企业节能降耗
运维·前端·自动化·交互·制造
不简说10 小时前
JS 代码技巧 vol.4 — 10 个异步并发控制,Promise.all 这帮兄弟的踩坑实录
前端·javascript·面试