로컬에서 html에서 html 파일 인클루드
본문
로컬에서 html에서 html 파일 인클루드
방법이있을까요?
$("#header").load("header.html")
이방법으로 하려는데;
blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
이 에러메시지가 나와서요.
답변 3
이렇게 해보심이..
<script>
//includeHTML() 함수
function includeHTML() {
var z, i, elmnt, file, xhttp;
/*loop through a collection of all HTML elements:*/
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
/*search for elements with a certain atrribute:*/
file = elmnt.getAttribute("html-include");
if (file) {
/*make an HTTP request using the attribute value as the file name:*/
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) { elmnt.innerHTML = this.responseText; }
if (this.status == 404) { elmnt.innerHTML = "Page not found."; }
/*remove the attribute, and call this function once more:*/
elmnt.removeAttribute("html-include");
includeHTML();
}
}
xhttp.open("GET", file, true);
xhttp.send();
/*exit the function:*/
return;
}
}
};
$(document).ready(function() {
//includeHTML() 함수 실행
includeHTML();
});
</script>
<!-- 인클루드해서 넣을 HTML 주소를 html-include=""에 넣음 -->
<div id="header" html-include="header.html"></div>
오류내용은 외부도메인의 값은 불러올 수 없다는 뜻입니다.
양 쪽 다 서버 설정이 가능하다면, 허용도메인을 설정하시거나
지금처럼 하시려면 같은 도메인내에서 사용하셔야 합니다
내컴퓨터에 Autoset 등 APM설치 프로그램으로 서버 구축후
ajax관련 함수 - 여기서는 load() - 를 사용하는 경우 그런 문제가 생기더군요.
실제 서버에 올려 테스트해 보시죠.
답변을 작성하시기 전에 로그인 해주세요.