Saya menginginkan solusi dengan dukungan browser lama sebanyak mungkin. Kalau tidak, saya akan mengatakan metode currentScript atau data atribut akan paling bergaya.
Ini adalah satu-satunya metode yang belum dibahas di sini. Terutama, jika karena alasan tertentu Anda memiliki banyak data, maka opsi terbaik mungkin adalah:
penyimpanan lokal
<script>
localStorage.setItem('data-1', 'I got a lot of data.');
localStorage.setItem('data-2', 'More of my data.');
localStorage.setItem('data-3', 'Even more data.');
</script>
var data1 = localStorage.getItem('data-1');
var data2 = localStorage.getItem('data-2');
var data3 = localStorage.getItem('data-3');
localStorage memiliki dukungan penuh peramban modern, dan secara mengejutkan juga mendukung peramban lama yang baik, antara lain IE 8, Firefox 3,5 dan Safari 4 [sebelas tahun yang lalu].
Jika Anda tidak memiliki banyak data, tetapi masih menginginkan dukungan browser yang ekstensif, mungkin opsi terbaik adalah:
Tag meta [oleh Robidu]
<meta name="yourData" content="Your data is here" />
var data1 = document.getElementsByName('yourData')[0].content;
Kekurangannya, adalah tempat yang tepat untuk meletakkan tag meta [hingga HTML 4] di tag head, dan Anda mungkin tidak ingin data ini ada di sana. Untuk menghindarinya, atau meletakkan tag meta di badan, Anda dapat menggunakan:
Paragraf tersembunyi
<p hidden id="yourData">Your data is here</p>
var yourData = document.getElementById('yourData').innerHTML;
Untuk lebih banyak lagi dukungan browser, Anda dapat menggunakan kelas CSS sebagai ganti atribut tersembunyi:
.hidden {
display: none;
}
<p class="hidden" id="yourData">Your data is here</p>