2009-10-08 20 views
10

मैंने वेबसाइट के लिए Greasemonkey स्क्रिप्ट बनाई है। स्क्रिप्ट क्या करता है पृष्ठ के अंत में एक div जोड़ रहा है।
Greasemonkey या Tampermonkey में iframe को बाहर करने के लिए कैसे?

document.body.insertBefore(myDiv, document.body.firstChild); 

लेकिन अब साइट, गूगल-विज्ञापनों के लिए एक iframe कहते हैं एक परिणाम मेरी div iframe में भी दिखाई देता है, जो नहीं है कि मैं क्या चाहते हैं।

आईफ़्रेम को प्रभावित करने वाली स्क्रिप्ट को मैं कैसे रोक सकता हूं?

उत्तर

5

Greasemonkey अब the @noframes directive का समर्थन करता है (लंबी Tampermonkey और Scriptish द्वारा समर्थित)।
आईफ्रेम में ऑपरेशन को अवरुद्ध करने के लिए क्लीनर तरीके के लिए इसका उपयोग करें।

चेतावनी::


दुर्भाग्य से, npdoty's answer अब फ़ायरफ़ॉक्स के ब्राउज़र कंसोल में एक चेतावनी ट्रिगर किया जाएगा कार्यों हटा दिया गया है के बाहर वापसी के उपयोग और Greasemonkey के भविष्य के संस्करणों में विफलताओं हो सकती है।

+0

यह चेतावनी कोई समस्या नहीं है, आपको बस अपनी स्क्रिप्ट को किसी अज्ञात फ़ंक्शन में लपेटने की आवश्यकता है: '(function() {...})(); ', यह वैसे भी एक अच्छा अभ्यास है। '@ Noframes' के लिए धन्यवाद, ऊपर उठाया गया। – user

+1

मेरी स्वीकृति बदल दी। एक और अधिक सुरुचिपूर्ण तरीका प्रदान करने के लिए धन्यवाद। – fwonce

+0

आपका स्वागत है; मदद करने में खुशी। –

16

मैं अपने लिपियों के शीर्ष पर डाल फ़्रेम्स या iframes पर चल रहा से बचने के लिए:

if (window.top != window.self) //don't run on frames or iframes 
    return; 
+0

यही है! धन्यवाद :-) – fwonce