Saya perlu memperbarui beberapa ratus halaman HTML statis yang memiliki tanggal kode keras di kode kaki. Saya ingin menggantinya dengan beberapa JavaScript yang akan diperbarui secara otomatis setiap tahun.
Saat ini saya menggunakan:
<script type="text/javascript">var year = new Date();document.write(year.getFullYear());</script>
Apakah ini sependek yang didapat?
javascript
html
date
tpow
sumber
sumber
document.write
konten inline selama fase parsing awal (seperti yang ditunjukkan di atas, dalam<script>...</script>
tag - atau dalam.js
file yang dimuat denganscript
tag tanpadefer
atauasync
). Ketika halaman sepenuhnya diuraikan, aliran dokumen ditutup, dan menggunakandocument.write
buka kembali - sepenuhnya mengganti dokumen dengan yang baru. Jika Anda ingin menambahkan satu tahun setelah penguraian utama selesai, Anda ingin menggunakan DOM. (Ini bukan perubahan, selalu seperti ini.)Jawaban TJ sangat baik tetapi saya mengalami satu skenario di mana HTML saya sudah diterjemahkan dan script document.write akan menimpa semua konten halaman hanya dengan tahun tanggal.
Untuk skenario ini, Anda bisa menambahkan simpul teks ke elemen yang ada menggunakan kode berikut:
sumber
createTextNode()
tidak mengartikan html seperti<br>
bagaimana Anda membuat simpul dengan HTML?Jika Anda ingin memasukkan kerangka waktu di masa depan, dengan tahun berjalan (mis. 2017) sebagai tahun awal sehingga tahun depan akan muncul seperti ini: "© 2017-2018, Company.", Kemudian gunakan kode berikut . Secara otomatis akan diperbarui setiap tahun:
© Hak Cipta 2017-2018, Perusahaan.
Tetapi jika tahun pertama telah berlalu, kode terpendek dapat ditulis seperti ini:
sumber
sumber
Solusi JS berfungsi dengan baik tetapi saya akan menyarankan solusi sisi server. Beberapa situs yang saya periksa memiliki masalah bahwa seluruh halaman menjadi kosong dan hanya setahun yang terlihat sesekali.
Alasan untuk ini adalah dokumen. Menulis sebenarnya menulis seluruh dokumen.
Saya meminta teman saya untuk mengimplementasikan solusi sisi server dan itu berhasil baginya. Kode sederhana dalam php
Nikmati!
sumber
document.write
digunakan setelah DOM sudah dimuat. Solusinya adalah tidak menggunakandocument.write
setelah semua beban DOM, atau, lebih baik lagi, tidak menggunakandocument.write
sama sekali.Inilah versi terpendek yang paling bertanggung jawab yang bahkan berfungsi sebagai AD dan BC.
[drum rolls ...]
Itu dia. 6 Bytes lebih pendek dari jawaban yang diterima.
Jika Anda harus kompatibel dengan ES5, Anda dapat menerima:
sumber
Ini adalah solusi terbaik yang dapat saya pikirkan yang akan bekerja dengan JavaScript murni. Anda juga bisa mendesain elemen karena dapat ditargetkan dalam CSS. Tambahkan saja tahun ini dan itu akan secara otomatis diperbarui.
sumber
sumber
Untuk React.js, berikut ini adalah yang bekerja untuk saya di catatan kaki ...
sumber
menurut audit chrome
jadi solusi tanpa kesalahan adalah:
sumber