Chciałem rozwiązań, które w jak największym stopniu obsługują starsze przeglądarki. W przeciwnym razie powiedziałbym, że albo currentScript, albo metoda atrybutów danych byłaby najbardziej stylowa.
To jedyna z tych metod, których jeszcze tu nie wspomniano. W szczególności, jeśli z jakiegoś powodu masz duże ilości danych, najlepszą opcją może być:
Lokalny magazyn
<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 ma pełną obsługę nowoczesnych przeglądarek i zaskakująco dobre wsparcie dla starszych przeglądarek, między innymi do IE 8, Firefox 3,5 i Safari 4 [jedenaście lat temu].
Jeśli nie masz dużej ilości danych, ale nadal potrzebujesz rozbudowanej obsługi przeglądarki, być może najlepszą opcją jest:
Metatagi [autorstwa Robidu]
<meta name="yourData" content="Your data is here" />
var data1 = document.getElementsByName('yourData')[0].content;
Wadą tego jest to, że prawidłowe miejsce do umieszczania metatagów [do HTML 4] znajduje się w tagu head i możesz nie chcieć tam umieszczać tych danych. Aby tego uniknąć lub umieścić metatagi w treści, możesz użyć:
Ukryty akapit
<p hidden id="yourData">Your data is here</p>
var yourData = document.getElementById('yourData').innerHTML;
Aby uzyskać jeszcze lepszą obsługę przeglądarek, możesz użyć klasy CSS zamiast atrybutu hidden:
.hidden {
display: none;
}
<p class="hidden" id="yourData">Your data is here</p>