2009-02-14 19 views
12

साथ फ़्रेम का स्रोत हो जाओ यह jQuery एक फ्रेम के स्रोत URL वापस आ जाएगी:jQuery (के बाद स्रोत बदल गया है)

$('#frame-name').attr('src') 

लेकिन अगर फ्रेम के अंदर लिंक पर क्लिक होने, मूल स्रोत अभी भी दिया जाता है।

क्या नया स्रोत यूआरएल पता लगाना संभव है? या फ्रेम में लोड नए दस्तावेज़ का स्रोत प्राप्त करें? यदि इनमें से कोई भी हां है, तो क्या सुरक्षा फ्रेम में सुरक्षा डोमेन हैं यदि स्रोत फ्रेम में किसी भिन्न डोमेन से यूआरएल है?

उत्तर

5
parent.frames[1].location.href; 

jQuery नहीं, लेकिन जो मैं खोज रहा था। हालांकि, स्रोत एक अलग डोमेन पर है, तो एक सुरक्षा त्रुटि kicks।

1

AFAIK jQuery के साथ ऐसा करने का कोई अच्छा तरीका नहीं है। आपको HTML तत्व पर location.href का उपयोग करने की आवश्यकता है ताकि यदि आप jQuery के साथ तत्व प्राप्त करते हैं तो आप ऐसा कर सकते हैं।

$("#iframe-name").get(0).location.href 
+1

$ ("# iframe-name")। (0) .location.href अपरिभाषित –

+0

क्या आप इसे मूल फ्रेम से कर रहे हैं? देखें कि क्या चयनकर्ता वास्तव में एक HTMLElement लौट रहा है। अलर्ट ($ ("# iframe-name")। (0) प्राप्त करें); –

+5

$ ("# iframe-name") आज़माएं। (0) .contentWindow.location.href –

1

एक अलग डोमेन से लिंक है? यदि ब्राउज़र किसी अन्य साइट पर सुरक्षा सावधानी के रूप में है, तो ब्राउज़र अन्य विंडो या फ्रेम में उपयोगकर्ता के खुले होने के बारे में किसी भी जानकारी तक पहुंच प्रतिबंधित कर सकता है।

2

ब्राउज़र एक्सटेंशन के रूप में, सुरक्षा त्रुटियां दूर हो जाएंगी।

उदाहरण के लिए, Greasemonkey एक फ़ायरफ़ॉक्स एक्सटेंशन है जहां आप एक्सप्लोर कर सकते हैं, और यदि आपको अपनी स्क्रिप्ट पसंद है, तो मुझे विश्वास है कि इसे अपने एक्सटेंशन में पैक किया जा सकता है।

वैकल्पिक रूप से, आप bookmarklet के रूप में एक पृष्ठ में स्क्रिप्ट इंजेक्ट कर सकते हैं।

संबंधित मुद्दे