הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 03-01-12, 13:14   # 1
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 33
הודעות: 391

trupix לא מחובר  

בעיה עם התאמת JS בטאבלט

הי,

יש לי עמוד ראשי מסויים, העמוד טוען JS של חלון צף הנקרא Fancybox.


כדי להציג את החלון אני שם את הקוד הזה בעמוד:

PHP קוד:
<class="fancy" href="page.php">
open fancy
</a
הקישור הזה יפתח לי את fancybox, ויציג לי בAJAX את page.php


אבל, כאשר אני מנסה "להזריק" קוד HTML לעמוד בעזרת jQuery, לדוגמא:
PHP קוד:
<class="fancy" href="otherpage.php">
open other page
</a
זה כן עובד במחשבים רגילים, אבל לא בטאבלט של סמסונג..
להערכתי - התוצאה של "ההזרקת" קוד בעצם גורמת לטאבלט להתייחס לקוד שהוזרק בפני עצמו , ולא מחילה עליו את ההגדרות של אותו עמוד עם הטעינה של הJS וכו'..
והעובדה שלא חלים עליו הגדרות העמוד, גורמות בעצם ללינק שהתווסף להיפתח בעמוד אחר לגמרי..

מספיק לי התקן אחד שלא תומך וזה לא טוב

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

מקווה שמישהו יוכל לעזור .. תודה רבה רבה..

Last edited by trupix; 03-01-12 at 13:18..
  Reply With Quote
ישן 03-01-12, 13:26   # 2
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

נסה אולי לאתחל מחדש את ה-fancybox אחרי שאתה דוחף את ה-HTML...
  Reply With Quote
ישן 03-01-12, 13:28   # 3
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 33
הודעות: 391

trupix לא מחובר  

הי,

טעינת הfancybox מתבצעת בחלק הראשי של העמוד (head).. זה לא יצור בעיות?
אני ינסה את זה בכול אופן

תודה.. אני יעדכן עוד מספר דקות!


עריכה:
עדיין לא עובד

התכוונת להוריד את הקוד של טעינת הJS, לחלק שמתחת לjquery?
זה כל כך הזוי, למה הדפדפן המובנה מתייחס אל הקוד כאלמנט בפני עצמו?

Last edited by trupix; 03-01-12 at 13:38..
  Reply With Quote
ישן 03-01-12, 15:01   # 4
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

הרי איפשהו בקוד שלך אתה עושה משהו כזה:
HTML קוד:
$(".fancybox").fancybox();
שזה בעצם אתחול של הפאנסיבוקס.
תעשה את זה שוב אחרי שאתה מזריק תוכן.
  Reply With Quote
ישן 03-01-12, 16:22   # 5
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 33
הודעות: 391

trupix לא מחובר  

הי,

יגאל - אשריך.
אני לא יודע אם הייתי עולה על זה.

תודה.

Last edited by trupix; 03-01-12 at 16:26..
  Reply With Quote
ישן 03-01-12, 16:31   # 6
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

שמח שיכולתי לעזור

למען השלמות, אני רק רוצה להסביר למה זה עובד גם:
לא התעמקתי יותר מדיי בקוד של FancyBox, אבל סביר להניח שהוא מצמיד ארועים (events) לחלקים מה-DOM ובצורה כזאת הוא עובד. הוא עושה את זה אחרי שהעמוד עלה (כי אז אתה מזמן את פקודת האתחול שלו). בכך שאתה מזריק HTML חדש, אתה בעצם יוצר DOM חדש שאליו לא הוצמדו הארועים המתאימים.
מנגד, זה לא מסביר למה בדפדפנים אחרים הכל תקין. בכל אופן, אני מאמין שהבעיה סובבת סביב הנושא הזה.
  Reply With Quote
ישן 04-01-12, 19:55   # 7
hostmygame
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Sep 2011
הודעות: 10

hostmygame לא מחובר  

אני לא בטוח שהטאבלט תומך JS או JQUERY בצורה מלאה...
  Reply With Quote
ישן 04-01-12, 20:14   # 8
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

ציטוט:
נכתב במקור על ידי hostmygame צפה בהודעה
אני לא בטוח שהטאבלט תומך JS או JQUERY בצורה מלאה...
על טאבלטים בד"כ יש דפדפנים מבוססי Webkit, מה שאומר שהם תומכים ב-JS (וכנגזרת מכך גם ב-jQuery כי זה בעצם JS) בצורה יותר טובה מחלק מהמחשבים (בעיקר האלה שמריצים IE לדורותיו).
  Reply With Quote
ישן 05-01-12, 11:32   # 9
Second
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Jul 2006
מיקום: נתניה
גיל: 34
הודעות: 37
שלח הודעה באמצעות MSN אל Second

Second לא מחובר  

למרות שכבר העניין סודר,

כנראה בתוך הקוד FANCYBOX שלך אתה עושה EVENT של:
קוד:
$("#element").click(function(){});
אתה פשוט צריך להחליף את זה עם
קוד:
$("#element").live('click', function(){});
הפונקציה LIVE מבטיחה שגם אם נוצר אלמנט חדש, אז הפונקציה תחול גם עליו.
__________________
  Reply With Quote
ישן 05-01-12, 21:41   # 10
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 37
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

ציטוט:
נכתב במקור על ידי Second צפה בהודעה
למרות שכבר העניין סודר,

כנראה בתוך הקוד FANCYBOX שלך אתה עושה EVENT של:
קוד:
$("#element").click(function(){});
אתה פשוט צריך להחליף את זה עם
קוד:
$("#element").live('click', function(){});
הפונקציה LIVE מבטיחה שגם אם נוצר אלמנט חדש, אז הפונקציה תחול גם עליו.
למרות שמה שאתה אומר נכון (live vs bind),
FancyBox הוא פלאגאין מוכן ואין שום בעיה לערוך את הקוד שלו, אך אישית לא הייתי נוגע אם אתחול מחדש עוזר.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 17:14.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ