2013-02-05 32 views
9

व्यापक शोध के बाद ऐसा प्रतीत होता है कि यह काम करना चाहिए, लेकिन IE8 में letgo फ़ंक्शन कभी नहीं कहा जाता है ... कोई मदद?पोस्ट मैसेज स्क्रिप्ट आईई 8 में क्यों काम नहीं कर रही है?

<script type="text/javascript"> 
    function resizeCrossDomainIframe() {   

     if (window.addEventListener) { 
      window.addEventListener('message', letsgo, false); 
     } else if (window.attachEvent) { 
      window.attachEvent('onmessage', letsgo); 
     } 
    } 
    function letsgo(event) { 
     var iframe = document.getElementById('my_iframe'); 
     if (event.origin !== 'http://mysite.com') return; // only accept messages from the specified domain 
     if (isNaN(event.data)) return; // only accept something which can be parsed as a number 
     var height = parseInt(event.data) + 32; // add some extra height to avoid scrollbar 
     iframe.height = height + "px"; 
    } 
</script> 
    <iframe src='http://mysite.com/products/default.aspx?iframe=true&partnerid=222&site=localhost:62014' frameborder="0" width="100%" scrolling="auto" style="min-height: 750px; min-width: 600px; background-color: #fff;" id="my_iframe" onload="resizeCrossDomainIframe();"> 
    </iframe> 
+0

आपके पास अपने पृष्ठ में पहली पंक्ति के रूप में ' 'है? – Teemu

+0

हाँ मैं करता हूं ... मुझे लगता है कि मुझे यह जोड़ना चाहिए कि यह एफएफ, क्रोम और आईई 9 में बहुत अच्छा काम करता है। इसके अलावा बच्चा iframe पेज पोस्ट मैसेज को कॉल कर रहा है: – SirM

+0

यह ऐसा लगता है कि एमएसडीएन में प्रत्येक उदाहरण कोड में 'event.domig'] (http://msdn.microsoft.com/en-us/library/windows/apps/hh441295.aspx) 'event.origin' के बजाय, althought है एमएसडीएन में उदाहरणों के भीतर त्रुटियों का सामना करते समय यह पहली बार नहीं है। – Teemu

उत्तर

6

मुझे मिल गया, यह दौड़ की स्थिति होनी चाहिए। मैंने अधिभार निकाला।

<script type="text/javascript"> 


     if (window.addEventListener) { 
      window.addEventListener('message', letsgo, false); 
     } else if (window.attachEvent) { 
      window.attachEvent('onmessage', letsgo); 
     } 

    function letsgo(event) { 
     var iframe = document.getElementById('my_iframe'); 
     if (event.origin !== 'http://mysite.com') return; // only accept messages from the specified domain 
     if (isNaN(event.data)) return; // only accept something which can be parsed as a number 
     var height = parseInt(event.data) + 32; // add some extra height to avoid scrollbar 
     iframe.height = height + "px"; 
    } 
</script> 
    <iframe src='http://mysite.com/products/default.aspx?iframe=true&partnerid=222&site=localhost:62014' frameborder="0" width="100%" scrolling="auto" style="min-height: 750px; min-width: 600px; background-color: #fff;" id="my_iframe" > 
    </iframe>