Прежде чем кто-нибудь отметит этот вопрос как дубликат, я провел много исследований по этому вопросу, и пока не смог найти решение моей проблемы. Итак, у меня есть файлы header.html и footer.html, и я хочу загрузить их содержимое на новую страницу html (пытаясь не повторять код). Я знаю, что я могу сделать это в php очень просто, но я пытаюсь сделать это с помощью JQuery (просто начал в него копаться). Это мой код до сих пор:Загрузить html-содержимое на страницу html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="./style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
$('#filename').load("footer.html");
});
</script>
</head>
<body>
<div id="filename"></div>
</body>
</html>
Я получаю следующее сообщение об ошибке:
jquery.min.js:5 XMLHttpRequest cannot load file:///C:/Users/...../footer.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.send @ jquery.min.js:5ajax @ jquery.min.js:5b.fn.load @ jquery.min.js:5(anonymous function) @ index.html:10c @ jquery.min.js:3fireWith @ jquery.min.js:3ready @ jquery.min.js:3H @ jquery.min.js:3
Вы действительно не должны нагружать верхние и нижние колонтитулы таким образом; Это увеличивает количество запросов, которые ваша страница должна сделать. То, что вам нужно, это верхний и нижний колонтитулы на «базовой» странице, которая импортирует страницы содержимого. – Soviut
Какова полная ошибка кросс-происхождения, которую вы получаете? Можете ли вы показать нам заголовки ответов для запроса 'footer.html'? – Brad
В зависимости от структуры вашего сайта, если вы хотите, чтобы статические страницы были построены таким образом, что вы используете общий шаблон, вы можете рассмотреть такой комплект, как Webpack. Это способ выставить статический HTML с полной страницей (так что вы можете легко размещать на любом CDN), но только для того, чтобы поддерживать общий шаблон. – Brad