如何从外部JS文件的行分隔大数组中随机加载页面标题?
如何从外部JS文件的行分隔大数组中随机加载页面标题?
嘿,我完全get你的需求了——要从一个大的外部JS文件里随机挑选标题来修改页面的title,而且你自己不太会写JS对吧?没问题,我一步步给你讲得明明白白:
第一步:准备你的外部标题JS文件
假设你现在有一堆行分隔的标题文本,先把它们转换成JS数组格式,存成一个比如titleBank.js的文件,格式就像这样:// titleBank.js const allTitles = [ "Welcome to My Website!", "Discover Amazing Things", "Check Out Our Latest Offers", "Your One-Stop Shop", "Don't Miss Out!", // 把你所有的行分隔标题都放在这里,每个用引号包裹,末尾加逗号(最后一个可以不加) ];如果你的标题数量特别多,手动加引号和逗号太麻烦,用VS Code或者Notepad++的查找替换功能就能快速搞定:把换行符替换成
",,然后在开头加上const allTitles = [",结尾加上"];,几分钟就能处理完几百上千条标题。第二步:在HTML页面中引入这个JS文件
在你的HTML页面的<body>标签末尾(推荐放在这里,避免阻塞页面加载)添加引入代码:<script src="titleBank.js"></script>第三步:编写随机换标题的函数(基于你给的代码修改)
你可以直接在HTML里加一个<script>标签写这段代码,也可以存成另一个JS文件比如titleChanger.js再引入:function setRandomTitle() { // 从外部JS文件的allTitles数组里随机生成一个索引 const randomIndex = Math.floor(Math.random() * allTitles.length); // 直接设置页面标题就行,不用innerHTML哦,document.title是专门用来改标题的属性 document.title = allTitles[randomIndex]; }第四步:触发这个函数
如果你想页面加载完成后立刻更换标题,就在脚本里加这一句:// 等页面所有内容加载完成后执行换标题函数 window.addEventListener('load', setRandomTitle);要是你还想让标题每隔一段时间自动切换,比如每30秒换一次,可以改成这样:
window.addEventListener('load', () => { // 页面加载完先换一次标题 setRandomTitle(); // 之后每30秒(30000毫秒)换一次 setInterval(setRandomTitle, 30000); });
额外小提示:你之前提到的innerHTML其实用不上哦,修改页面标题直接用document.title就足够简单高效啦。
备注:内容来源于stack exchange,提问作者Ezmyrelda Andrade
相关产品推荐
相关产品推荐

