मैं पुराने ब्राउज़रों के यथासंभव समर्थन के साथ समाधान चाहता था। अन्यथा मैं कहूंगा कि या तो करंटस्क्रिप्ट या डेटा एट्रिब्यूट विधि सबसे स्टाइलिश होगी।
यह इन विधियों में से एकमात्र है जिसे अभी तक यहां नहीं लाया गया है। विशेष रूप से, यदि किसी कारण से आपके पास बड़ी मात्रा में डेटा है, तो सबसे अच्छा विकल्प हो सकता है:
स्थानीय भंडार
<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');
लोकलस्टोरेज में पूर्ण आधुनिक ब्राउज़र समर्थन है, और पुराने ब्राउज़रों का आश्चर्यजनक रूप से अच्छा समर्थन भी है, IE 8, फ़ायरफ़ॉक्स 3,5 और सफारी 4 [ग्यारह साल पहले]।
यदि आपके पास बहुत अधिक डेटा नहीं है, लेकिन फिर भी व्यापक ब्राउज़र समर्थन चाहते हैं, तो शायद सबसे अच्छा विकल्प है:
मेटा टैग [रोबिदु द्वारा]
<meta name="yourData" content="Your data is here" />
var data1 = document.getElementsByName('yourData')[0].content;
इसका दोष यह है कि मेटा टैग लगाने का सही स्थान [HTML 4 तक] हेड टैग में है, और हो सकता है कि आप इस डेटा को वहां न चाहें। उससे बचने के लिए या शरीर में मेटा टैग लगाने के लिए, आप एक का उपयोग कर सकते हैं:
छिपा हुआ पैराग्राफ
<p hidden id="yourData">Your data is here</p>
var yourData = document.getElementById('yourData').innerHTML;
अधिक ब्राउज़र समर्थन के लिए, आप छिपी विशेषता के बजाय CSS वर्ग का उपयोग कर सकते हैं:
.hidden {
display: none;
}
<p class="hidden" id="yourData">Your data is here</p>