شرح صفوف ومحتوى الفقرة
- الخطوة الأولي: في هذا المثال سوف نقوم بتغيير جزئي لمحتوى الصفحة يتمثل في تغيير محتوي عنصر <h1>.
في هذة الخطوة سوف نستخدم دالة ()history.pushState لإضافة بيانات في سجل المتصفح بشكل مؤقت ثم نستدعي هذة البيانات بداخل عنصر <h1>.
- الخطوة الثانية: في هذا المثال سوف نقوم بتغيير وهمي لعنوان URL الحالي لصفحة المثال إلي عنوان أخر.
في هذة الخطوة سوف نستخدم دالة ()window.history.pushState لتغيير عنوان URL للصفحة الحالية عن طريق عامل urlPath.
JavaScript SPA Single page application Syntax
تستخدم history.state في لغة جافا سكريبت لحفظ معلومات حول الصفحة الحالية للتطبيق وإرجاعها وقت الحاجة.
<html>
<head>
</head>
<body>
<h1 id="data">JavaScript SPA Single page application Syntax</h1>
<input type="button" value="Change URL" id="myInp">
<script>
let myInp = document.getElementById("myInp");
let data = document.getElementById('data');
const state = { 'pageID': 1, 'userID': 5 ,'pageTitle':'CloseTag'}
myInp.addEventListener('click',()=>{
history.pushState(state,'')
data.innerText = "H1 changed to : " + history.state.pageTitle
window.history.pushState({urlPath:'/tutorial/javascript/javascript-spa-single-page-application/javascript-spa-single-page-application-syntax'},"",'/tutorials')
})
</script>
</body>
</html>
JavaScript SPA Single page application object
مثال علي SPA Single page application مع الكائنات في لغة جافا سكريبت.
<html>
<head>
</head>
<body>
<h1 id="data">JavaScript SPA Single page application Syntax</h1>
<p id="description"></p>
<input type="button" value="Change URL" id="myInp">
<script>
let myInp = document.getElementById("myInp");
let description = document.getElementById("description");
let data = document.getElementById('data');
const state = {
"title": "Welcome to My SPA",
"description": "This is a simple single page application built with JavaScript from close tag"
}
myInp.addEventListener('click',()=>{
history.pushState(state,'')
data.innerText = "H1 changed to : " + history.state.title
description.innerText = "H1 changed to : " + history.state.description;
window.history.pushState({urlPath:'/tutorial/javascript/javascript-spa-single-page-application/javascript-spa-single-page-application-object'},"",'/tutorials')
})
</script>
</body>
</html>