Что бы работало без сервера лучше сделать как то так:
Только надо доработать напильником.
Во времена до аякса, так реализовывалась поддержка аякса в старых браузерах, и так же помоему досихпор работает отправка файлов в большинстве современных браузеров.
Unsafe JavaScript attempt to access frame with URL file:///home/kuzma/workspace/demo/html/coding/ajax-constructor2/sidebar.html from frame with URL file:///home/kuzma/workspace/demo/html/coding/ajax-constructor2/index.html. Domains, protocols and ports must match.
index.html:12Uncaught TypeError: Cannot read property 'body' of undefined
iframe.onloadindex.html:12
Код для проверки: <!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<div id="result"></div>
<script type="text/javascript" language="javascript">
function includeHtml(src, destination) {
var iframe = document.createElement('iframe');
iframe.onload = function() {
destination.innerHTML = window.loader.document.body.innerHTML;
}
iframe.style.display = 'none';
iframe.name = 'loader';
iframe.src = src;
document.body.appendChild(iframe);
}
includeHtml('sidebar.html', document.getElementById('result'));
</script>
</body>
</html>
фрэймы сильно неудобно — надо указывать высоту и прочий геморой.
а так — удобно верстать и отдать заказчику кучкой файлов (что удобно для последующей разработки)