前提
javascriptのajaxを用いて、部分リロードを実装させたいです。
いくつかのサイトを参考にしましたが、うまく動かず途方に暮れております…
実現したいこと
ajaxを用いてdata-area="ajaxarea"というdata属性を持ったdiv要素が5秒視認領域にあったら、その要素内をリロードさせるscriptを組みたいです。
何卒よろしくお願いいたします。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8" /> 5 <title>サンプルサイト</title> 6<script> 7function ajaxUpdate(url, element) { 8 9 // urlを加工し、キャッシュされないurlにする。 10 url = url + '?ver=' + new Date().getTime(); 11 12 // ajaxオブジェクト生成 13 var ajax = new XMLHttpRequest; 14 15 // ajax通信open 16 ajax.open('GET', url, true); 17 18 // ajax返信時の処理 19 ajax.onload = function () { 20 21 // ajax返信から得たHTMLでDOM要素を更新 22 element.innerHTML = ajax.responseText; 23 }; 24 25 // ajax開始 26 ajax.send(null); 27} 28 29window.addEventListener('load', function () { 30 31 var div = document.querySelectorAll('[data-area="ajaxarea"]'; 32 33 setTimeout(function () { 34 ajaxUpdate(div); 35 }, 5000); 36 37}); 38</script> 39 </head> 40 <body> 41 42 <h1>Ajaxを使ったreloadサンプル</h1> 43 44 <div data-area="ajaxarea"> 45 <h2>Ajax更新エリア</h2> 46 <p class="article"> 47 サンプルメッセージ 48 </p> 49 </div> 50 51 </body> 52</html>
試したこと
https://ms-redesign.com/test.html
デモサイトになります。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。