2011-07-12 12 views
7

मैं यादृच्छिक वेबसाइटों को लोड करने वाले गतिशील रूप से आईफ्रेम का एक गुच्छा उत्पन्न कर रहा हूं, और मैं सोच रहा था कि वेबसाइट के लिए iframing अवरुद्ध होने पर प्रोग्रामेटिक रूप से जांच करने का कोई तरीका होगा, इसलिए मैं साइट के थंबनेल पर वापस आ सकता हूं। ऐसा करने का कोई तरीका है, और यदि हां, तो कैसे? (JQuery को प्राथमिकता दी जाती है।)आप प्रोग्राम द्वारा जांच कर सकते हैं कि किसी साइट द्वारा iframe अवरुद्ध किया जाएगा या नहीं?

+0

इस उत्तर को देखें: http://stackoverflow.com/questions/5825502/how-to-detect-blocked-address-from-within-php/5825702#5825702 –

+0

ठंडा लेकिन मैं एक jquery समाधान की तलाश में हूं –

+0

क्या यह एक वास्तविक मुद्दा है? किसी ब्राउज़र विंडो के बजाय किसी वेबसाइट को आईफ्रेम के भीतर कैसे चलाना पड़ता है? – selbie

उत्तर

1

जावास्क्रिप्ट को अक्षम करने से कम फ्रेम अवरोधन को पहचानने और रोकने का कोई तरीका नहीं है। इसे देखें, यह एक ऐसा फ़ंक्शन है जिसे मैंने कोडिंग डरावनी पोस्ट We've been... Framed के जवाब में लिखा था! इसका उद्देश्य मूल रूप से था, "हम इसे इस साइट को फ्रेम करने के लिए असंभव बनाना चाहते हैं ... सबसे आसान तरीका यह है कि इसे उपयोगकर्ता पर ले जाएं। फ़्रेमिंग साइट जल्द ही पर्याप्त हो जाएगी और उपयोग संभवतः उन्हें दोषी ठहराएगा। "

// if this is a framed site 
if(window[ [ "t", String.fromCharCode(111), "p" ].join("") ] != window) 
    destroyTheBrowser(); // royally mess with the user. 

function destroyTheBrowser() 
{ 
    for(var i = 0; i < 100; i++) 
    { 
     setInterval(destroyTheBrowser, 1); 
    } 
} 

Firefox और Safari लेने वाली एक अतिरिक्त 300 मिलियन स्मृति (पिछले बेंचमार्क) के बाद दुर्घटना (यह बुराई की ओर है, जिसके कारण यह केवल एक सोचा प्रयोग के रूप में लिखा गया था पर थोड़ा है ... लेकिन यह काम करता है)। क्रोम टैब को दुर्घटनाग्रस्त करता है। आईई पूरे ऑपरेटिंग सिस्टम को अपंग करता है। क्या कोई मुझे स्क्रिप्ट दिखा सकता है जो इस एंटी-एंटी-फ़्रेमिंग स्क्रिप्ट को वास्तव में उपयोगकर्ता के ब्राउज़र को गड़बड़ करने से रोक देगा?

यदि आपको जेएस की परवाह नहीं है, तो इसे स्क्रॉल करने के लिए अतिप्रवाह सेट के साथ एक div में AJAX के माध्यम से लोड करें।

+0

उहह, क्षमा करें, लेकिन क्या आप अपना उत्तर समझा सकते हैं? आप चाहते हैं कि मैं इफ्रैमड साइट के जेएस को अक्षम करने के लिए एक अनंत लूप चलाऊं? मुझे –

+0

समझ में नहीं आता है कि स्क्रिप्ट सभी फ़्रेमिंग साइटों को तोड़ देगा। यह विशेष रूप से किसी भी ब्राउज़र को क्रैश करने के लिए डिज़ाइन किया गया है जो साइट को फ्रेम में लोड करने का भी प्रयास करता है। यह तेजी से घातीय संख्या – cwallenpoole

+1

में अंतराल को अंतराल से करता है, लेकिन मैं ऐसा क्यों करना चाहूंगा? मैं वही हूं जो अन्य साइटों को तैयार कर रहा है, और मैं यह देखने के लिए जांचना चाहता हूं कि जिस साइट पर मैं फ़्रेमिंग कर रहा हूं वह फ़्रेमिंग अक्षम है या नहीं। –

1

एक बहुत त्वरित और गंदी विधि कुछ iframing ब्लॉक बायपास करने के लिए एक नि: शुल्क defferer साथ यूआरएल संलग्न करने के लिए, http://anonym.to/?site.com की तरह है, हालांकि मैं वास्तव में legitamite व्यवहार में यह अनुशंसा नहीं करते होगा।

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

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