Включить в событие локальный файл html (без сервера, без ajax) - PullRequest
0 голосов
/ 04 августа 2020

Вопрос сводится к следующему: как я могу отображать совершенно новый main, когда кто-то нажимает кнопку?

Итак, код javascript будет выглядеть так:

let post1 = document.getElementById('post1')
post1.onclick=function (){
  //bring in local file?
  //document.main.innerHTML=localHtmlFile
} 

И HTML

<body>
    <button id="post1">Post 1</button>
    <main> </main>
</body>

Я знаю, что аналогичные вещи выполняются с Ajax. Но это не запрос к серверу, а просто к файлу на том же компьютере.

Есть идеи?

Изменить

Мне просто нужна информация для новичков вроде меня:

Примечание. По соображениям безопасности вы не можете использовать fetch () файлы из вашей локальной файловой системы (или запускать другие подобные операции локально); чтобы запустить приведенный выше пример локально, вам нужно будет запустить его через локальный веб-сервер. MDN

Это, вероятно, относится и к XMLHttpRequests.

(Как бы глупо это ни казалось, мы не можем получить наши собственные файлы.)

1 Ответ

1 голос
/ 04 августа 2020

Я добавил id в основной тег и сохранил строку html в поле localHtmlFile.

попробуйте

window.localStorage.setItem('page', "<div>new content</div>");

   
let post1 = document.getElementById('post1')
post1.onclick=function (){
  //can I include something similar to this?
  document.getElementById('main').innerHTML=window.localStorage.readItem('page');
} 
<body>
    <button id="post1">Post 1</button>
    <main id="main">
    </main>
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...