2014-04-29 7 views
9

मैं सबडोमेन के भीतर एक आईफ्रेम तक पहुंचने और क्रॉस डोमेन त्रुटि प्राप्त करने का प्रयास कर रहा हूं।

यहाँ .mydomain.com/iframe_test.html उदाहरण के कोड है:एक्सेस-कंट्रोल-अनुमति-उत्पत्ति उसी डोमेन के साथ iframe के लिए काम नहीं कर रही है

<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
</head> 
<body> 
    <iframe src="http://example2.mydomain.com/welcome.php" width="1000" height="600"></iframe> 
    <script> 
     $(document).ready(function() 
     { 
      setTimeout(function(){ 
       $('#innerdiv',$('iframe').contents()).hide(); 
      },5000); 
     }); 
    </script> 
</body> 
</html> 



और यहाँ का कोड है example2 .mydomain.com/welcome.php:

<?php 
header("Access-Control-Allow-Origin: " . "*"); 
?> 
<html> 
<head> 

</head> 
<body> 
    <div id="innerdiv"> 
     hello 
    </div> 
</body> 
</html> 



। जब लाइन $ (। '# Innerdiv', $ ('आइफ्रेम') सामग्री()) छिपाने() निष्पादित किया जाता है, तो निम्न त्रुटि होती है:

Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "http://example.mydomain.com" from accessing a frame with origin "http://example2.mydomain.com". Protocols, domains, and ports must match. 


मैं फ़िडलर साथ की जाँच की है कि एक्सेस-कंट्रोल-स्वीट-ओरिजिन हेडर वास्तव में welcome.php

की प्रतिक्रिया में वास्तव में लौटा दिया गया था क्या सबडोमेन के भीतर आईफ्रेम की सामग्री तक पहुंच बनाना संभव है?

उत्तर

15

Access-Control-Allow-Origin केवल एक्सएचआर के लिए उपयोग किया जाता है।

आपको जो चाहिए उसे Same Origin Policy कहा जाता है।

आपको अपने पृष्ठों पर document.domain = 'example.com' जोड़ना होगा।

+0

हमें उस दस्तावेज़ को जोड़ना चाहिए। डोमेन सामग्री? क्या आप थोड़ा और विस्तार कर सकते हैं। धन्यवाद। –

+0

@ सईदनेमाती आपको इसे दोनों पृष्ठों को स्क्रिप्ट टैग में जोड़ने की आवश्यकता है। मूल रूप से मुख्य पृष्ठ और आईफ्रेम पृष्ठ को ' 'सेट –

+7

सेट नहीं करता है, यह काम नहीं करता है, मुझे मिलता है:' अनकॉट सुरक्षा त्रुटि: दस्तावेज़ पर 'डोमेन' प्रॉपर्टी सेट करने में विफल ':' example.com '' 'का प्रत्यय नहीं है।' –

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