23-07-2011, 20:57
|
|
מנהל משבראש, בלשנות, תכנות ויהדות
|
|
חבר מתאריך: 04.06.06
הודעות: 33,130
|
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי yuvalas שמתחילה ב "עזרה עם JavaScript והשלמת מידע בטופס שנמצא בדף דרך IFRAME"
בלתי אפשרי לגשת ל־DOM של אתר שבדומיין אחר, וזאת מסיבות של אבטחה.
זה גם די מובן למה, תאר לעצמך שאצור דף שיתעסק לך בעוגיות של אתרים אחרים..
אם ה־iframe שואב מאותו דומיין אז ניתן לעשות מה ששימי הציע, וניתן להכניס את השם/ID של הפריים, לאו דווקא מספרו הסידורי (זה יותר פשוט), לדוגמא: window.frames["myframe"]
אבל אם אני לא טועה, הדרך התקנית לעשות זאת היא להשתמש במאפיין ה־contentDocument (או לחלופין contentWindow)
אם לדוגמא x הוא אובייקט הפריים, אז x.contentDocument מוביל ל־document של המקור שלו.
שוב, בהנחה שמדובר על אותו דומיין.
אם מדובר על דומיין אחר, אך שניהם בשליטתך, ניתן להשתמש בפרצות שונות כדי לגרום להם לתקשר ביניהם
לדוגמא דרך שינוי ה־"עוגנים" שבכתובת הפריים, קליטת השינוי באתר היעד, ופעולה לפי השינוי.
או יצירת iframe נוסף זמני, קצר־חיים, שגם הוא על דומיין היעד, שיקבל את הפקודה ויבצע אותה ב־iframe הראשון (הוא יוכל לעשות זאת כי הוא על אותו דומיין)
הנה מאמר נהדר בנושא, עם דוגמאות
דבר אחרון, אם אתה רק רוצה לשאוב את המידע ממקור הפריים, אפשר לטעון אותו דרך XMLHttpRequest, אפילו לבצע בו מניפולציות, ואז להציג את התוצאה כחלק מהאתר שלך.
|