Как вы уже можете сказать (учитывая родитель и ребенок находятся на разных доменах), вы, безусловно, не может достигать от ребенка Iframe в родителя для прослушивания событий.
Один из способов передачи сообщений между страницами. Это потребует, чтобы ваши клиенты включили дополнительный JavaScript в свою страницу, а также iFrame, который указывает на ваш сервер. Это поддерживается в собственном javascript с postMessage, но в том числе библиотека @Mark Price предлагает сделать вашу жизнь намного проще.
Так здесь идет пример:
Клиенты Страница:
...
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.postMessage.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#TestButton").click(function(){
jQuery.postMessage("say_hi", "myserver.com/some_html_page.htm");
});
});
</script>
</head>
<input type="button" value="Say Hi" id="TestButton">
<iframe src="myserver.com/some_html_page.htm"></iframe>
код на myserver.com/some_html_page.htm:
...
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.postMessage.min.js"></script>
<script type="text/javascript">
// you will need to set this dynamically, perhaps by having your
// clients pass it into the URL of the iFrame,
// e.g. <iframe src="myserver.com/some_html_page.htm?source_url=..
var source_origin = "clients_page.com/index.html";
var messageHandler = function (data) {
// process 'data' to decide what action to take...
alert("Hi");
};
$.receiveMessage(messageHandler, source_origin);
</script>
</head>
Вероятно, было бы неплохо связать клиента код в единую библиотеку, которую они могли бы включить, поэтому ваши клиенты не обременены написанием собственного javascript.
Как предостережение, я написал этот код с верхней части головы, и, скорее всего, он изобилует опечатками. Я использовал эту библиотеку раньше, чтобы достичь аналогичных целей, и я надеюсь, что этот ответ станет полезной для вас отправкой (вместе с plugin documentation).
Сообщите мне, если я смогу прояснить ситуацию и удачи! :)
Возможный дубликат [Перекрестный домен iframe issue] (http: // stackoverflow.com/questions/9393532/cross-domain-iframe-issue) – Quentin