184 lines
9.2 KiB
HTML
184 lines
9.2 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8"/>
|
||
<title>Type Words 官网 - 词文记 | 单词跟打 · 文章跟打</title>
|
||
<!-- 搜索引擎描述 -->
|
||
<meta name="description"
|
||
content="Type Words 官方网站 - 在线英语练习平台,支持单词、文章跟打练习,提升英语学习效率。Practice English, one strike, one step forward">
|
||
<!-- 关键词(可选,搜索引擎基本不用,但能补充信息) -->
|
||
<meta name="keywords"
|
||
content="Type Words, Typing Word, Type Words 官网, 官方网站, 英语打字练习, 单词跟打, 文章跟打, 键盘练习, 英语学习, 文章学习, 打字练习软件, 单词记忆工具, 英语学习软件, 背单词神器, 英语肌肉记忆, 键盘工作者, 免费英语学习, 音标发音, 默写练习, 在线学英语, CET-4, CET-6, TOEFL, IELTS, GRE, GMAT, SAT, 考研英语, 专四专八, 程序员英语, JavaScript API, Node.js API, Java API, Linux命令, 编程词汇, 技术英语, VSCode插件, 开源项目, GitHub趋势榜, V2EX热搜, Gitee GVP, 少数派推荐, 英语打字训练, WPM统计, 准确率分析, 商务英语, BEC, 雅思听力, 日语学习, 多语言学习, 英语口语练习, 单词拼写训练">
|
||
|
||
<meta name="author" content="zyronon"/>
|
||
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"/>
|
||
<link rel="canonical" href="https://typewords.cc/"/>
|
||
|
||
<!-- Open Graph(用于社交媒体分享,微信/QQ/知乎/Facebook 等) -->
|
||
<meta property="og:title" content="Type Words 官网 - 英语打字练习平台">
|
||
<meta property="og:description"
|
||
content="Type Words 官方网站 - 在线英语练习平台,支持单词、文章跟打练习,提升英语学习效率。Practice English, one strike, one step forward">
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:url" content="https://typewords.cc/">
|
||
<meta property="og:image" content="https://typewords.cc/favicon.png">
|
||
|
||
<!-- Twitter Card(用于 Twitter 分享) -->
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="Type Words 官网 - 英语打字练习平台">
|
||
<meta name="twitter:description"
|
||
content="Type Words 官方网站 - 在线英语练习平台,支持单词、文章跟打练习,提升英语学习效率。Practice English, one strike, one step forward">
|
||
<meta name="twitter:image" content="https://typewords.cc/favicon.png">
|
||
|
||
<link rel="icon" type="image/svg+xml" href="/favicon.png"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||
<!-- 苹果设备(iOS Safari)在用户添加到主屏时显示的图标-->
|
||
<link rel="apple-touch-icon" sizes="180x180" href="/favicon.png"/>
|
||
<!-- 设置浏览器地址栏颜色(在 Android Chrome 特别明显)。-->
|
||
<meta name="theme-color" content="#818CF8"/>
|
||
<link rel="manifest" href="/manifest.json">
|
||
|
||
<!-- 阻止 iOS 自动把数字识别为电话号码。-->
|
||
<!-- HandheldFriendly 和 MobileOptimized 是旧手机浏览器的优化提示(现在作用不大)。-->
|
||
<meta name="format-detection" content="telephone=no"/>
|
||
<meta name="HandheldFriendly" content="True"/>
|
||
<meta name="MobileOptimized" content="320"/>
|
||
|
||
<!-- referrer 控制请求来源信息-->
|
||
<meta name="referrer" content="origin-when-cross-origin"/>
|
||
<!-- color-scheme 告诉浏览器支持亮/暗模式-->
|
||
<meta name="color-scheme" content="light dark"/>
|
||
|
||
<script>
|
||
if (
|
||
!location.href.includes('localhost')
|
||
&& !location.href.includes('192.168')
|
||
&& !location.href.includes('172.16')
|
||
&& !location.href.includes('10.0')
|
||
) {
|
||
//51.la
|
||
(function () {
|
||
window.LA = window.LA || {
|
||
ids: [{id: "3OH8ITYRgwzo58L2", ck: "3OH8ITYRgwzo58L2"}],
|
||
id: "3OH8ITYRgwzo58L2",
|
||
ck: "3OH8ITYRgwzo58L2",
|
||
hashMode: true
|
||
};
|
||
const script = document.createElement('script');
|
||
script.src = `https://typewords.cc/libs/51.js`;
|
||
document.head.appendChild(script);
|
||
})();
|
||
|
||
// Cloudflare
|
||
(function () {
|
||
var cf = document.createElement("script");
|
||
cf.src = 'https://static.cloudflareinsights.com/beacon.min.js'
|
||
cf.setAttribute("data-cf-beacon", '{"token": "e5119992696d4155814400dd69781d68"}');
|
||
document.head.appendChild(cf);
|
||
})();
|
||
|
||
// google
|
||
(function () {
|
||
var ana = document.createElement("script");
|
||
ana.src = 'https://www.googletagmanager.com/gtag/js?id=G-50T6DRD837'
|
||
ana.onload = function () {
|
||
window.dataLayer = window.dataLayer || [];
|
||
|
||
function gtag() {
|
||
dataLayer.push(arguments);
|
||
}
|
||
|
||
gtag('js', new Date());
|
||
gtag('config', 'G-50T6DRD837');
|
||
}
|
||
document.head.appendChild(ana);
|
||
})();
|
||
|
||
|
||
// baidu
|
||
var _hmt = _hmt || [];
|
||
(function () {
|
||
var hm = document.createElement("script");
|
||
hm.src = "https://hm.baidu.com/hm.js?3dae52fcd5375a19905462e4ad3eb54e";
|
||
document.head.appendChild(hm);
|
||
})();
|
||
|
||
// umami
|
||
// (function () {
|
||
// var umami = document.createElement("script");
|
||
// umami.src = 'https://typewords.cc/libs/s.js'
|
||
// umami.setAttribute("data-website-id", "160308c9-7900-4b1d-a0b1-c3b25a9530f6");
|
||
// document.head.appendChild(umami);
|
||
// })();
|
||
|
||
// umami-saas
|
||
// (function () {
|
||
// var umami2 = document.createElement("script");
|
||
// umami2.src = 'https://stat.typewords.cc/script.js'
|
||
// umami2.setAttribute("data-website-id", "4d728ae3-5393-4efe-81dc-30dcb4f33c00");
|
||
// document.head.appendChild(umami2);
|
||
// })();
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<noscript>
|
||
<div>You need to enable JavaScript to run Type Words.</div>
|
||
<div>你需要启用 JavaScript 来运行 Type Words.</div>
|
||
</noscript>
|
||
<div id="app"></div>
|
||
<script>
|
||
(function () {
|
||
var ua = navigator.userAgent || ''
|
||
var isIE = !!document.documentMode || /MSIE|Trident/i.test(ua)
|
||
if (!isIE) return
|
||
var style = document.createElement('style')
|
||
style.type = 'text/css'
|
||
style.appendChild(document.createTextNode(
|
||
'.ie-mask{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.35);z-index:9998}' +
|
||
'.ie-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:28rem;max-width:90vw;background:#fff;color:#111;border-radius:.6rem;box-shadow:0 10px 30px rgba(0,0,0,.15);z-index:9999;padding:1.2rem}' +
|
||
'.ie-dialog .title{font-size:1.2rem;font-weight:700;margin-bottom:.6rem}' +
|
||
'.ie-dialog .desc{font-size:.95rem;line-height:1.6;color:#555}' +
|
||
'.ie-dialog .actions{display:flex;justify-content:flex-end;margin-top:1rem}' +
|
||
'.ie-dialog .actions > * + *{margin-left:.6rem}' +
|
||
'.ie-dialog .btn{display:inline-flex;align-items:center;justify-content:center;height:2.2rem;padding:0 1rem;border-radius:.4rem;background:#0C8CE9;color:#fff;text-decoration:none}' +
|
||
'.ie-dialog .btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:2.2rem;padding:0 .9rem;border-radius:.4rem;background:#eee;color:#333;border:1px solid #ddd}' +
|
||
'@media (prefers-color-scheme: dark){.ie-dialog{background:#1e1f22;color:#e6e6e6}.ie-dialog .desc{color:#c6c6c6}.ie-dialog .btn-secondary{background:#2a2b2f;color:#e6e6e6;border-color:#3a3b3f}}'
|
||
))
|
||
document.head.appendChild(style)
|
||
var mask = document.createElement('div')
|
||
mask.className = 'ie-mask'
|
||
var dialog = document.createElement('div')
|
||
dialog.className = 'ie-dialog'
|
||
dialog.innerHTML = '<div class="title">不支持 IE 浏览器</div>' +
|
||
'<div class="desc">Type Words 使用现代技术构建,请使用 Chrome、Edge、Firefox 或 Safari 等现代浏览器访问。</div>' +
|
||
'<div class="actions">' +
|
||
'<a class="btn" href="https://www.google.cn/chrome/" target="_blank" rel="noreferrer">下载 Chrome</a>' +
|
||
'<button class="btn-secondary" type="button">我知道了</button>' +
|
||
'</div>'
|
||
|
||
function close() {
|
||
try {
|
||
document.body.removeChild(mask)
|
||
} catch (e) {
|
||
}
|
||
try {
|
||
document.body.removeChild(dialog)
|
||
} catch (e) {
|
||
}
|
||
}
|
||
|
||
mask.addEventListener('click', close)
|
||
var btn = null
|
||
try {
|
||
btn = dialog.querySelector('.btn-secondary')
|
||
} catch (e) {
|
||
}
|
||
if (btn) btn.addEventListener('click', close)
|
||
document.body.appendChild(mask)
|
||
document.body.appendChild(dialog)
|
||
})()
|
||
</script>
|
||
<script type="module" src="/src/main.ts"></script>
|
||
</body>
|
||
</html>
|