我需要更新几百个静态HTML页面,版权日期硬编码在页脚。我想用一些每年都会自动更新的JavaScript来替换它。

目前我正在使用:

<script type="text/javascript">var year = new Date();document.write(year.getFullYear());</script>

就这么短了吗?


当前回答

这是我能想到的使用纯JavaScript的最佳解决方案。您还可以在CSS中为元素设置目标样式。只要把年份加进去,它就会自动更新。

//Wait for everything to load first
window.addEventListener('load', () => {
    //Wrap code in IIFE 
    (function() {
        //If your page has an element with ID of auto-year-update the element will be populated with the current year.
        var date = new Date();
        if (document.querySelector("#auto-year-update") !== null) {
            document.querySelector("#auto-year-update").innerText = date.getFullYear();
        }
    })();
});

其他回答

使用document.write不是一个好的实践。你可以了解更多关于文档的信息。按这里写。下面是一个比较友好的JavaScript解决方案。是的,有关于InnerHTML有多糟糕的研究,正在研究一个更友好的解决方案。

document.getElementById("year").innerHTML = (new Date().getFullYear());

↑JavaScript

↓ 网页

<p>Company &copy; <span id="year"></span> All Rights Reserved.</p>

这里有一个JSFiddle来测试它。比起JavaScript,我个人更推荐用PHP写今年的,用PHP比JavaScript安全得多。

<?php echo date("Y"); ?>

满一年:

document.getElementById(“getyear”).innerHTML = (new Date().getFullYear()); <span id=“getyear”></span>

如果你在你的网站上多次需要当前年份,你可以这样做:

document.querySelectorAll(“copy-year”)。forEach(el => { 埃尔。textContent = ' ${el。textContent} - ${new Date().getFullYear()} '; }); 版权所有公司<copy-year>1234</copy-year>©

我知道,这不是最短的方法,但它真的很有效。

PS:你需要有JS在你的页面底部或使用延迟属性的脚本标签。

JS解决方案很好,但我建议使用服务器端解决方案。我检查过的一些网站有这样的问题,整个页面都是空白的,只在一段时间内看到年份。

这样做的原因是文件。写实际上写满了整个文档。

我让我的朋友实现了一个服务器端解决方案,这对他来说是有效的。 php中的简单代码

<?php echo date('Y'); ?>

享受吧!

> < div >是<脚本文件。</script>, Company. write(new Date(). getfullyear ()); < / div >