1505
צפיות
צפיות
6
תשובות
תשובות
PHP – טעינה פעם אחת
היי חבר'ה! פעם קודמת הייתם תותחים ועזרתם לי המון!!!
אז ככה, יש לי באתר שני דפים Header.php ו-Footer.php שמכילים את מבנה האתר, הדפים נטענים ע"י כל אחד מהדפים באתר באופן קבוע ע"י Include.
אין שום סיבה ששני הדפים הללו יטענו בכל פעם שאני "זז" באתר, רציתי לדעת באיזו דרך ניתן לגרום לדפים להיטען פעם אחת ויחידה והדבר היחידי שיטען מדף לדף הוא התוכן.
מחכה לתשובות שלכם, תודה! (:
6 תשובות
מה זאת אומרת בכל פעם שאתה "זז"?
יש דרך קצת מסובכת…זה דורש ידע בJS. הנה השיטה:
נניח שהכתובות של הדפים באתר הם:
example.com/a.php
example.com/b.php
וכך הלאה, אתה הופך את זה ל:
example.com/#/a.php
example.com/#/b.php
כמובן הדפים האלה יובילו ל: example.com/ בלבד, בגלל ה-#.
בעזרת JS אתה מקבל מהכתובת את a.php ואת b.php (תלוי בדף), וטוען את התוכן שלהם לדף.
השיטה קצת מורכבת אבל תשים לב שכך אפשר לשנות תוכן באנימציה (כמו באתרי הפלאש של פעם) בלי חשש לבעיות עם מנועי החיפוש (אפשר גם לעשות מפת אתר עם כל הדפים ליתר ביטחון).
זהו זה…בכל מקרה ייקח לתוכן פה לעלות יותר זמן (JS שפועל)…אגב זה לא מפריע שהheader והfooter ייטענו שוב ושוב…זה לא קריטי
דוג' ללקיחת שם הקובץ בJS:
בכתובת example.com/#/a.php
var url = window.location.toString();
var filename = url.substring(url.lastIndexOf('/')+1);
alert(filename);
אתה תקבל a.php
דרור, זאת אומרת כל פעם שאני עובר בין דף לדף.
רן, הבנתי פחות או יותר מה אתה אומר אבל יהיה לי ממש קשה ליישם, בעבר למדתי בבית ספר JS ואני לא ממש זוכר את השפה. יש לי ב-Header.php כפתור לייק והוא נטען אחרי כל טעינה מחדש שזה בלתי נסבל בעין. אז המניע העיקרי שלי לטעינה אחת בלבד, יש לך פתרון איך לטעון רק את הכפתור? (במקום את כל שני הדפים)
אתה מתכוון לתקשורת עם השרת מבלי לרענן את הדף? עם כן אז תחפש מדריכים של Ajax זה נורא פשוט.
דרור, הפתרון שלי הוא עם AJAX…אני פשוט נתתי פתרון גם למנועי החיפוש.
HandysHand, אני אחשוב על פתרון…