जावास्क्रिप्ट की क्रॉस-डोमेन सुरक्षा संकट हल करने के लिए, मैं निम्न विधिनहीं कर सकते पहुँच जे एस समारोह पर्यावरण
डोमेन पर लागू करने कर रहा हूँ [abc.com]
डोमेन abc.com
मेरे पास है पर एक पृष्ठ जिसे main_page.html
कहा जाता है।
<script>
function SendMsg(id)
{
frames["invisible_iframe"].location = "http://xyz.com/invisible_iframe.html#"+id;
}
</script>
<body>
<input type="button" id="Test" value="Call iFrame" onclick="SendMsg(this.id);">
<iframe src="ttp://xyz.com/visible_iframe.html" name="visible_iframe" height="250" width="500"></iframe>
<iframe name="invisible_iframe" height="0" width="0" style="display:none;"></iframe>
</body>
डोमेन [xyz.com]
पर डोमेन xyz.com
पर मैं एक पेज visible_iframe.html
कहा जाता है - इसकी कोड इस प्रकार है।
<script>
function Hi()
{
alert("Hi there!");
}
</script>
<body>
<h1>Visible iFrame on xyz.com
<iframe name="d2_invisible_iframe" id="d2_invisible_iframe" class="iFrame" src="http://xyz.com/invisible_iframe.html" height="310" width="520"></iframe>
</body>
अब मैं इस प्रकार
<script>
var sActionText = "";
function CheckForMessages()
{
if(location.hash != sActionText)
{
sActionText = location.hash;
var sAction = "";
var oSplitActionText = sActionText.split("#");
sAction = oSplitActionText[1];
if (sAction == "Test")
{
parent.Hi();
}
}
}
setInterval(CheckForMessages, 200);
</script>
<body>
<h1>Invisible iFrame on xyz.com</h1>
</body>
मैं समारोह Hi()
invisible_iframe.html
से (जो एक ही डोमेन पर है)
invisible_iframe.html
का कोड है का उपयोग करना चाहते हैं - अपने कोड इस प्रकार है visible_iframe.html
में छिपे हुए आईफ्रेम का उपयोग कर रहा हूं क्योंकि मैं नहीं दिखाना visual_iframe.html का URL बदलना चाहता हूं।
अब मुझे उम्मीद है कि main_page.html
पर बटन क्लिक किया गया है, मुझे सतर्क संदेश मिलेगा। लेकिन ऐसा नहीं होता है। फ़ायरफ़ॉक्स में यह कहते हैं - अनुमति संपत्ति का उपयोग करने की 'हाय' से इनकार किया
अजीब बात है जब मैं CheckForMessages()
समारोह के बाहर parent.Hi();
शब्दों में कहें, Hi()
समारोह पहुँचा जा सकता है और चेतावनी बॉक्स दिखाया गया है।
इसे हल करने के लिए मुझे क्या करना चाहिए?
यदि स्टॉक ओवरफ़्लो का उत्तर नीचे नहीं है, तो नहीं आपकी मदद करें, आप इससे क्या अपेक्षा करते हैं? आपका 'हाय' फ़ंक्शन 'invisible_iframe' के माता-पिता के डोमेन पर नहीं है, यह उसके iframes के अंदर है! तो यहां स्पष्टीकरण दें। शायद मैं उस पर आपकी सहायता कर सकता हूं। – Sepehr
वहां था मेरे प्रश्न में थोड़ा उलझन। मैंने इसे अभी संपादित किया है। असुविधा के लिए बेहद खेद है खिलाडि़यों। – skos
@Sachyn, क्या आपके पास दोनों डोमेन (abc.com + xyz.com) पर HTML फ़ाइलों को संपादित/बनाने की क्षमता है? –