Я пытаюсь обмениваться данными jQuery с одной или несколькими страницами iframe'd html с их родительским html-документом. Что мне нужно - это взаимодействие между iframe и, если это возможно (очень желательно) для обмена/обмена .data(), то есть $ .cache обоих объектов jQuery (в родительском и дочернем iframe).Как передать данные jQuery .data() через iframe?
коснуться примерно так:
Родитель HTML:
<!DOCTYPE html>
<html>
<head>
<title >iframe-data</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" ></script>
<script type="text/javascript" >
jQuery(function($){
var testData = 'hello world from #div1';
$('#div1').data('test',testData);
var newTestData = $('.div2').closest('.div1').data('test');
$('#div2').append('Parent window: "' + testData + '" === "' + newTestData + '" => ' + (testData === newTestData));
}); // jQuery()
</script>
</head>
<body>
<div id="div1" class="div1" >
<div id="div2" class="div2" >
</div>
<iframe src="iframe-data2.html" ></iframe>
</div>
</body>
</html>
Iframe HTML:
<!DOCTYPE html>
<html>
<head>
<title >iframe-data2</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" ></script>
<script type="text/javascript" >
jQuery(function($){
var testData = 'hello world from #div1';
var $body = $(window.top.document.body);
var $div1 = $body.find('#div1');
var outsideTestData = $body.find('#div1').data('test');
var $div2 = $('#div2');
$div2.append('outside test data: "' + testData + '" === "' + outsideTestData + '" => ' + (testData === outsideTestData));
}); // jQuery()
</script>
</head>
<body style="background-color: silver">
<div id="div1" class="div1" >
<div id="div2" class="div2" >
</div>
</div>
</body>
</html>
В чем вопрос «Я принимаю это за то, что ваш код работает не так, как вы ожидаете, но что происходит вместо этого? Что вам нужно знать? –
@ Исаак Это совсем не работает, но спасибо, я попытался прояснить вопрос. Надеюсь, это поможет. – Azder
Просто интересно: Как родительская страница, так и страница iframe предоставляются через один и тот же домен или находятся в разных доменах? Если политики безопасности разных доменов могут быть/возникли проблемы. –