我需要更新几百个静态HTML页面,版权日期硬编码在页脚。我想用一些每年都会自动更新的JavaScript来替换它。
目前我正在使用:
<script type="text/javascript">var year = new Date();document.write(year.getFullYear());</script>
就这么短了吗?
我需要更新几百个静态HTML页面,版权日期硬编码在页脚。我想用一些每年都会自动更新的JavaScript来替换它。
目前我正在使用:
<script type="text/javascript">var year = new Date();document.write(year.getFullYear());</script>
就这么短了吗?
当前回答
<script type="text/javascript">document.write(new Date().getFullYear());</script>
其他回答
<script type="text/javascript">document.write(new Date().getFullYear());</script>
JS解决方案很好,但我建议使用服务器端解决方案。我检查过的一些网站有这样的问题,整个页面都是空白的,只在一段时间内看到年份。
这样做的原因是文件。写实际上写满了整个文档。
我让我的朋友实现了一个服务器端解决方案,这对他来说是有效的。 php中的简单代码
<?php echo date('Y'); ?>
享受吧!
上述专家提供了很多解决这个问题的方法。下面的解决方案可以使用,这将不会阻塞页面渲染,甚至不会重新触发它。
在纯Javascript中:
窗口。addEventListener(“负载”,( 函数(){ . getelementbyid(“copyright-year”).appendChild ( document.createTextNode ( 新日期().getFullYear () ) ); } )); < div >软件是< span id = " copyright-year " > < / span > < / div >
jQuery:
$(文档)时函数(){ . getelementbyid(“copyright-year”).appendChild ( document.createTextNode ( 新日期().getFullYear () ) ); }); < script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> < div >软件是< span id = " copyright-year " > < / span > < / div >
这个答案与Ray的答案相似,但使用了模板文字和文本回退
<p>©
<span id="copyright-year">2021</span>
Company Name
</p>
<script>
document.getElementById("copyright-year").innerHTML = `${new Date().getFullYear()}`;
</script>
©2022公司名称
document.getElementById("copyright-year").innerText = `${new Date().getFullYear()}`;
同样适用。
这是我能想到的使用纯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();
}
})();
});