मैं बहुत की तरह एक नई विंडो खोलने की कोशिश कर रहा हूँ सफारी में काम नहीं कर रहा एक क्लिक घटना के बाद नई विंडो खोलें,:क्रोम
$('#wrapper').click(function() {
window.setTimeout(function() {
//alert('hi');
window.open("http://example.com", "ExternalLinks", "resizable=yes, scrollbars=yes, status=yes");
}, 1000);
});
यह फ़ायरफ़ॉक्स में काम करता है, लेकिन Chrome या Safari (अब तक में नहीं, मैंने अभी मैक पर परीक्षण किया है)। alert()
सभी ब्राउज़रों में काम करता है, इसलिए सफारी/क्रोम में निष्पादन से window.open
को रोकने से कुछ ऐसा लगता है। इसके अलावा, अगर मैं setTimeout
हटा देता हूं और बस window.open
पर कॉल करता हूं तो यह सभी 3 ब्राउज़रों में काम करता है। यह लगभग window.open
click
ईवेंट से बहुत दूर घोंसला है, तो यह सफारी/क्रोम में काम नहीं करता है।
तो आप जानते हैं, मेरे पास एक अखिल-फ्लैश वेबसाइट है और मैं एक नई विंडो में खोलने के लिए बाहरी लिंक प्राप्त करने की कोशिश कर रहा हूं, इसलिए मैं यूआरएल में हैश टैग पढ़ रहा हूं (उदा। एचटीपी: // उदाहरण .com/#/facebook /) और यदि यह कुछ वस्तुओं से मेल खाता है, तो मैं एक विशिष्ट यूआरएल खोलने के लिए window.open
पर कॉल कर रहा हूं। मेरे पास फ्लैश स्रोत तक पहुंच नहीं है, या मैं इसे वहां संभाल दूंगा।
कोई विचार?
यह भी ध्यान देने योग्य है कि सफारी और क्रोम में इन सख्त पॉपअप ब्लॉकर्स डिफ़ॉल्ट रूप से निर्मित और चालू होते हैं, ऐसा नहीं है कि अन्य ब्राउज़रों में उनके पास नहीं है - यह सिर्फ अन्य ब्राउज़रों के लिए है वे या तो एड-ऑन हैं या स्वचालित रूप से इंस्टॉलेशन समय पर चालू नहीं होते हैं। –