当前位置: 首页 > wzjs >正文

做网站一年赚多少钱彩票网站APP建设

做网站一年赚多少钱,彩票网站APP建设,高新快速建设网站电话,网站开发和程序开发起因, 目的: 想查看某个字体,对中英文的支持情况。 效果图: 完整项目见这里, 需要积分下载,不然的话,显得太水了。 过程: AI 对话, 生成代码。我检查运行, 来回修改。写个博客,…

起因, 目的:

想查看某个字体,对中英文的支持情况。
效果图:
请添加图片描述

完整项目见这里, 需要积分下载,不然的话,显得太水了。

过程:

  1. AI 对话, 生成代码。
  2. 我检查运行, 来回修改。
  3. 写个博客,记录过程。
核心代码 App.js
import React, { useState, useEffect, useCallback } from 'react';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import './App.css';
import Header from './components/Header';
import FontSelector from './components/FontSelector';
import TextDisplay from './components/TextDisplay';const fonts = [{ name: 'Arial' },{ name: 'Noto Sans' },{ name: 'SimSun' },{ name: 'Roboto' },{ name: 'Times New Roman' },{ name: 'Microsoft YaHei' },{ name: 'Consolas' },{ name: 'Open Sans' },{ name: 'Noto Sans SC' },{ name: 'Lora' },
];const defaultFont = 'Arial';function App() {const [selectedFont, setSelectedFont] = useState(defaultFont);const [englishFont, setEnglishFont] = useState(defaultFont);const [chineseFont, setChineseFont] = useState(defaultFont);const [searchTerm, setSearchTerm] = useState('');const checkFontSupport = async (fontName, text) => {try {const normalizedFontName = fontName.trim();if (['Arial', 'Microsoft YaHei', 'SimSun', 'Consolas', 'Times New Roman'].includes(normalizedFontName)) {if (normalizedFontName === 'Arial' || normalizedFontName === 'Consolas' || normalizedFontName === 'Times New Roman') {return text === 'A';}if (normalizedFontName === 'Microsoft YaHei') {return true;}if (normalizedFontName === 'SimSun') {return text === '中';}}await document.fonts.load(`20px "${normalizedFontName}"`);const isFontAvailable = document.fonts.check(`20px "${normalizedFontName}"`);if (!isFontAvailable) {console.log(`字体 ${normalizedFontName} 不可用`);return false;}return true;} catch (error) {console.error(`检测字体 ${fontName} 失败:`, error);return false;}};const handleFontChange = useCallback((fontName) => {const timer = setTimeout(async () => {setSelectedFont(fontName);const supportsEnglish = await checkFontSupport(fontName, 'A');const supportsChinese = await checkFontSupport(fontName, '中');const warnings = [];if (!supportsEnglish) {warnings.push('英文');setEnglishFont(defaultFont);} else {setEnglishFont(fontName);}if (!supportsChinese) {warnings.push('中文');setChineseFont(defaultFont);} else {setChineseFont(fontName);}if (warnings.length > 0) {toast.warn(`字体 ${fontName} 不支持${warnings.join('和')},将使用默认字体 ${defaultFont}`);}}, 100);return () => clearTimeout(timer);}, []);useEffect(() => {const link = document.createElement('link');link.href ='https://fonts.font.im/css2?family=Noto+Sans&family=Roboto&family=Open+Sans&family=Noto+Sans+SC&family=Lora&display=swap';link.rel = 'stylesheet';document.head.appendChild(link);return () => document.head.removeChild(link);}, []);const filteredFonts = fonts.filter((font) =>font.name.toLowerCase().includes(searchTerm.toLowerCase()));return (<div className="App"><Header /><FontSelectorfonts={filteredFonts}selectedFont={selectedFont}onFontChange={handleFontChange}searchTerm={searchTerm}onSearchChange={setSearchTerm}/><TextDisplay englishFont={englishFont} chineseFont={chineseFont} /><ToastContainer /></div>);
}export default App;

过程简述

初始:4 种字体,静态检测,单行文本。
扩展:10 种字体,动态检测(checkFontSupport),添加搜索框、Google Fonts 链接、中英文各 3 行。

问题:

  • 字体检测失败:改进 checkFontSupport,本地字体特殊处理。
  • Google Fonts 加载:切换到 fonts.font.im。
  • 重复警告:合并为单一警告。

运行:

npm install react-toastify
npm start

然后访问:http://localhost:3001

结论 + todo

  • 大体效果还可以。
  • 搜索框,还是有点问题。

文章转载自:

http://Z6cg886f.Lqpzb.cn
http://KPIDq3Kj.Lqpzb.cn
http://QgcwgSAW.Lqpzb.cn
http://zyQXT5xg.Lqpzb.cn
http://U9ihjrO2.Lqpzb.cn
http://KMHhvWwV.Lqpzb.cn
http://elMb0LlH.Lqpzb.cn
http://tq3Z1lf8.Lqpzb.cn
http://C4gZas18.Lqpzb.cn
http://Z05MCUO3.Lqpzb.cn
http://Z0eBOGrA.Lqpzb.cn
http://x1O1pwPr.Lqpzb.cn
http://k77WvYsS.Lqpzb.cn
http://cR0ftiVn.Lqpzb.cn
http://TJQrKZLZ.Lqpzb.cn
http://ZVuMYF4B.Lqpzb.cn
http://XxxYGhwC.Lqpzb.cn
http://mCLbtUMO.Lqpzb.cn
http://ZEXlUwL2.Lqpzb.cn
http://FSW96E3D.Lqpzb.cn
http://EWYvNnI0.Lqpzb.cn
http://CEuV0WEV.Lqpzb.cn
http://SO2Vrbyc.Lqpzb.cn
http://CCzXLECr.Lqpzb.cn
http://2Pt9WLZl.Lqpzb.cn
http://dpskeDaO.Lqpzb.cn
http://Tlu6I181.Lqpzb.cn
http://4Ra7pnCz.Lqpzb.cn
http://cYAmqMKm.Lqpzb.cn
http://rKtjd2Hp.Lqpzb.cn
http://www.dtcms.com/wzjs/743321.html

相关文章:

  • 金华做网站多少钱搜索指数在线查询
  • 优设网站怎么下载喜欢做木工 网站
  • 网站建设技术可行性室内设计培训学费多少
  • 网站商品图片尺寸兼职做效果图的网站有哪些
  • 张家港江阴网站制作网站导航为什么用ul列表做
  • 开发购物网站社交的软件公司wordpress 繁体 插件
  • 什么是网站静态化网站建设管理内容保障制度
  • linux 搭建wordpress怎么快速优化关键词排名
  • 手机营销型网站建设莱芜雪野湖地图
  • 带空间二字的韩国视频网站wordpress logo图片
  • 网站建设中最重要的是什么wordpress代码块行号
  • 响应式网站和营销型网站宁波网站推广有哪些
  • 常州建站服务seort什么意思
  • 网站内怎么做搜索网页设计与网站开发素材
  • 接网站建站公司怎么把网上的视频保存到手机
  • 购物网站详细设计网站备案管谁要幕布
  • 潍坊尚呈网站建设公司怎么样高清图片素材哪里找
  • 免费做电子书的网站有哪些网站建设费用的请示
  • 多语言网站个人婚礼网站模板
  • 黑龙江省住房与城乡建设厅网站汽车配件外贸网站
  • 深圳网站设计服务公网站的优化哪个好
  • 网站建设助手没有网站 可以做百度口碑吗
  • 谷歌建站多少钱广东哪里有网站建设
  • 用dw做网站的空格怎么打个体做敦煌网站怎么样
  • 二级域名建站app在线设计
  • 天津工程建设协会网站直播网站app开发
  • 江西建设厅培训网站wap 2.0的网站
  • 烟台做网站系统中国十大培训机构影视后期
  • 丽水手机网站建设小网站开发用哪些技术
  • 墨刀做网站上下滑动的交互濮阳网站建设在哪里