가능한 한 오래된 브라우저를 많이 지원하는 솔루션을 원했습니다. 그렇지 않으면 currentScript 또는 데이터 속성 방법이 가장 세련 될 것이라고 말하고 싶습니다 .
이것은 아직 여기에 언급되지 않은 유일한 방법입니다. 특히 어떤 이유로 많은 양의 데이터가있는 경우 최상의 옵션은 다음과 같습니다.
localStorage
<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는 최신 브라우저를 완벽하게 지원하고 IE 8, Firefox 3,5 및 Safari 4 [11 년 전]로 돌아가는 이전 브라우저도 놀라 울 정도로 잘 지원합니다.
데이터가 많지 않지만 광범위한 브라우저 지원을 원하는 경우 가장 좋은 방법은 다음과 같습니다.
메타 태그 [by Robidu]
<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>