Mümkün olduğunca eski tarayıcıları destekleyen çözümler istedim. Aksi takdirde, ya currentScript ya da veri nitelikleri yönteminin en şık olacağını söyleyebilirim .
Bu yöntemlerden henüz burada gündeme getirilmeyen tek budur. Özellikle, herhangi bir nedenle büyük miktarda veriniz varsa, o zaman en iyi seçenek şu olabilir:
yerel depolama
<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, tam modern bir tarayıcı desteğine ve diğerlerinin yanı sıra IE 8, Firefox 3,5 ve Safari 4'e [on bir yıl önce] kadar eski tarayıcılar için şaşırtıcı derecede iyi bir desteğe sahiptir.
Çok fazla veriniz yoksa, ancak yine de kapsamlı tarayıcı desteği istiyorsanız, belki de en iyi seçenek şudur:
Meta etiketleri [Robidu tarafından]
<meta name="yourData" content="Your data is here" />
var data1 = document.getElementsByName('yourData')[0].content;
Bunun kusuru, meta etiketleri yerleştirmek için doğru yerin [HTML 4'e kadar] head etiketinde olmasıdır ve bu verileri orada istemeyebilirsiniz. Bundan kaçınmak veya meta etiketleri gövdeye yerleştirmek için şunları kullanabilirsiniz:
Gizli paragraf
<p hidden id="yourData">Your data is here</p>
var yourData = document.getElementById('yourData').innerHTML;
Daha fazla tarayıcı desteği için gizli özellik yerine bir CSS sınıfı kullanabilirsiniz:
.hidden {
display: none;
}
<p class="hidden" id="yourData">Your data is here</p>