הטענת תמונה באופן מהיר יותר

שקדיה

משתמש סופר מקצוען
מנוי פרימיום
איור וציור מקצועי
צילום מקצועי
D I G I T A L
מומלץ לתפריטים ורקעי מסך
ראיתי כאן, ולמרות שלא ניסתי זה נראה לי שימושי

באמצעות קוד ג'אוה:
קוד:
<script type="text/javascript">

if (document.images) {

    img1 = new Image();
    img2 = new Image();
    img3 = new Image();

    img1.src = "../path/to/image-01.gif";
    img2.src = "../path/to/image-02.gif";
    img3.src = "../path/to/image-03.gif";

}

</script>
<script type="text/javascript">

if (document.images) {

    img1 = new Image();
    img2 = new Image();
    img3 = new Image();

    img1.src = "../path/to/image-01.gif";
    img2.src = "../path/to/image-02.gif";
    img3.src = "../path/to/image-03.gif";

}

</script>
באמצעות CSS:
קוד:
<style type="text/css">
   img.preload { display: none; }
</style>
<style type="text/css">
   img.preload { display: none; }
</style>


[IMG]http://www.prog.co.il/image1.jpg[/IMG]
[IMG]http://www.prog.co.il/image2.jpg[/IMG]
[IMG]http://www.prog.co.il/image3.jpg[/IMG]
[IMG]http://www.prog.co.il/image4.jpg[/IMG]
 

יריב

משתמש רשום
תמונות יש לטעון אחרי עליית הדף.

כאשר דף מסיים טעינה הוא יורה איוונט שנקראה סיימתי טעינה.
זה מה שמודיע לג'אווה סקריפטים להתחיל לעבוד.

הוספת תמונות לטעינה צריכה להתבצע רק אחרי טעינת הדף
וזה יכול להתבצע באמצעות סקריפט פשוט שודאי יהיה גם קשור לאותה הסיבה שאנחנו מעלים תמנות נוספות מלכתחילה.
 

KingYes

משתמש צעיר
אני כבר כמה זמן מנסה לכתוב סקריפט, שפשוט מזהה לבד את כל התמונות (שאגדיר לפי class נניח), והוא יקח אותם לבד, ולא יתן לדפדפן לטעון אותם אוטומתי.. והוא עצמו ישחק עם הטעינה.
ברגע שאסיים את התסריט, אשמח לשתף פה.

מה שאני כן רואה בקוד שהבאת, אתה מגדיר תמונות ידני ב-JS. תאכלס, מה הרווחת בזה? איפה הדינמיות שה-JS לא יגע ב-HTML.. ורק יוסיף לו? מה יעשו אנשים עם noscript?
 

wmw

משתמש פעיל
D I G I T A L
כמה אנשים יש עם NOSCRIPT?
ולהם ניתן להציג הודעה שלצערינו הצגת תמונות מחייבת שימוש בסקריפטים
(מה אתה עושה באתר עם JQUERY? ואיך הם שולחים מייל? רק דרך לינק לתוכנת מייל? אין עמוד צור קשר?)
 

יריב

משתמש רשום
איך תציג את ההודעה בדיוק, הסקריפט שבודק לא יעבוד :)
 

יריב

משתמש רשום
לצערי לא ממש מובן הנושא. אבל בוא ננסה.
רוצים להטעין תמונות ברקע, בזמן עלייה ובלי קשר להמצאותם בדף.
מתי זה נחוץ:
1. כאשר רוצים להשתמש באפקט הובר ורוצים מעבר מהיר, תמונת הכפתור חייבת להיות כבר מוטענת. במצב זה CSS יחליף את התמונה ואין קשר לסקריפט
2. כאשר רוצים ל"טפל" בתמונות PNG עם שקיפות בשביל דינוזאור שנקרא אקספלורר 6, אם אין סקריפט זה ממילא לא יעבוד.
3. כאשר יש גלריה עם תמונות מתחלפות, איך הם מתחלפות? חייבים סקריפט שיחליף נכון.

אז המצב שקיבלנו, הוא כך בשביל CSS אין שום קשר לסקריפטים
בשביל השאר למי שאין ג'אווה סקריפט התצוגה לא תהיה תקינה בכלל (רקע תכלת) או אין יכולת תצוגה (אולי רק לתמונה הראשונה) למה להטעין את יתר התמונות. ועוד, הוא הרי נטרל בעצמו את הסקריפט אז למה להודיע לו שהתמונה שהוא רואה אמורה להתחלף ולעשות אפקטים, זה הרי ממילא לא מעניין אותו.

למה בעצם שאני לא יעלה את התמונות באמצעות CSS, הגדרת רקעים לאובייקטים עם display:none ? בגלל הסיבה שציינתי קודם, זמן ונפח טעינת הדף ארוך, המטרה שלנו היא לקצר את הטעינה לא להאריך.

לכן צריך לשים תמונה ראשונה ב-HTML ישירות, שאר התמונות לתת לסקריפט להחליף אחרי טעינת הדף, מי שאין לו סקריפט לא יידע וגם לא צריך להודיע לו שאם היה לו הוא היה רואה תמונות נוספות.

אני חושב שההודעות האלו של תגית noscript שייכות להיסטוריה ולא נחוצות כלל. צריך למצוא את הדרך בלעדיהן, זה ממש לא קשה.
אגב, לא מכיר אף מחשב שהגבילו בו סקריפטים.
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק יד

א לַמְנַצֵּחַ לְדָוִד אָמַר נָבָל בְּלִבּוֹ אֵין אֱלֹהִים הִשְׁחִיתוּ הִתְעִיבוּ עֲלִילָה אֵין עֹשֵׂה טוֹב:ב יְהוָה מִשָּׁמַיִם הִשְׁקִיף עַל בְּנֵי אָדָם לִרְאוֹת הֲיֵשׁ מַשְׂכִּיל דֹּרֵשׁ אֶת אֱלֹהִים:ג הַכֹּל סָר יַחְדָּו נֶאֱלָחוּ אֵין עֹשֵׂה טוֹב אֵין גַּם אֶחָד:ד הֲלֹא יָדְעוּ כָּל פֹּעֲלֵי אָוֶן אֹכְלֵי עַמִּי אָכְלוּ לֶחֶם יְהוָה לֹא קָרָאוּ:ה שָׁם פָּחֲדוּ פָחַד כִּי אֱלֹהִים בְּדוֹר צַדִּיק:ו עֲצַת עָנִי תָבִישׁוּ כִּי יְהוָה מַחְסֵהוּ:ז מִי יִתֵּן מִצִּיּוֹן יְשׁוּעַת יִשְׂרָאֵל בְּשׁוּב יְהוָה שְׁבוּת עַמּוֹ יָגֵל יַעֲקֹב יִשְׂמַח יִשְׂרָאֵל:
נקרא  13  פעמים

לוח מודעות

למעלה