में एक विंडो से दूसरे में फ़ंक्शन पास नहीं कर सकता है मेरे पास दो विंडो हैं, एक दूसरे से खोला गया है, इसलिए, मेरे पास "बच्चे" विंडो में opener
संपत्ति है।आईई
अभिभावक विंडो में वैश्विक क्षेत्र में कुछ फ़ंक्शन है, जिसे फ़ंक्शन के साथ पहली तर्क के रूप में जाना जाना चाहिए (इसे कॉलबैक के रूप में उपयोग किया जाएगा)।
दोनों पेज एक ही डोमेन से खोल रहे हैं, इसलिए, मैं किसी भी एक ही मूल नीति प्रतिबंध (मैं बहुत उम्मीद है) नहीं है ...
एक बच्चे विंडो में मैं इस
if(window.opener) {
window.opener.myFunction(function() { ... });
}
की तरह कोड है
सबकुछ ठीक काम करता है, जब तक कि मैं इसे आईई में चलाने की कोशिश नहीं करता। इस ब्राउज़र में myFunction
द्वारा प्राप्त एक तर्क, हमेशा Object
टाइप करें (typeof
के साथ चेक किया गया)।
window.myFunction = function(cb) {
alert('Callback type is ' + (typeof cb));
if(typeof cb == 'function')
cb();
else
alert('Not a function!');
}
लाइव डेमो: http://elifantiev.ru/ie-opener-issue/first.html
सवालहै:
- यह एक standarts अनुरूप व्यवहार है
myFunction
संहिता कुछ इस तरह है? - इस मुद्दे के लिए कुछ कामकाज है?
कृपया आईई के संस्करण (नों) निर्दिष्ट करें जिसमें आपको यह समस्या आती है। –
आईई 7 + (आईई 7,8,9) – Olegas