שלח תשובה

זירת השאלות

1505
צפיות
6
תשובות

PHP – טעינה פעם אחת

,‏ 8 במאי, 2013

היי חבר'ה! פעם קודמת הייתם תותחים ועזרתם לי המון!!!
אז ככה, יש לי באתר שני דפים Header.php ו-Footer.php שמכילים את מבנה האתר, הדפים נטענים ע"י כל אחד מהדפים באתר באופן קבוע ע"י Include.
אין שום סיבה ששני הדפים הללו יטענו בכל פעם שאני "זז" באתר, רציתי לדעת באיזו דרך ניתן לגרום לדפים להיטען פעם אחת ויחידה והדבר היחידי שיטען מדף לדף הוא התוכן.

מחכה לתשובות שלכם, תודה! (:

6 תשובות

  1. יש דרך קצת מסובכת…זה דורש ידע ב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 ייטענו שוב ושוב…זה לא קריטי

  2. דוג' ללקיחת שם הקובץ בJS:
    בכתובת example.com/#/a.php

    var url = window.location.toString();
    var filename = url.substring(url.lastIndexOf('/')+1);
    alert(filename);

    אתה תקבל a.php

  3. HandysHand הגיב:

    דרור, זאת אומרת כל פעם שאני עובר בין דף לדף.
    רן, הבנתי פחות או יותר מה אתה אומר אבל יהיה לי ממש קשה ליישם, בעבר למדתי בבית ספר JS ואני לא ממש זוכר את השפה. יש לי ב-Header.php כפתור לייק והוא נטען אחרי כל טעינה מחדש שזה בלתי נסבל בעין. אז המניע העיקרי שלי לטעינה אחת בלבד, יש לך פתרון איך לטעון רק את הכפתור? (במקום את כל שני הדפים)

  4. דרור טל הגיב:

    אתה מתכוון לתקשורת עם השרת מבלי לרענן את הדף? עם כן אז תחפש מדריכים של Ajax זה נורא פשוט.

  5. דרור, הפתרון שלי הוא עם AJAX…אני פשוט נתתי פתרון גם למנועי החיפוש.
    HandysHand, אני אחשוב על פתרון…

שלח תשובה