Политика того же происхождения, вероятно, блокирует вас от этого.Это также может произойти в некоторых браузерах, если обе страницы используют схему file: // uri.
Если iframe и внешние окна будут использовать один и тот же домен, эта проблема должна исчезнуть, как только ваш код окажется всервер.Попробуйте отправить его с локального хоста, используя apache для проверки, или протестируйте его с помощью Google Chrome с отключенной политикой того же происхождения, как показано в этом сообщении:
Отключите ту же политику происхождения в Chrome
С другой стороны, если iframe должен находиться в другом домене или для работы со схемой file: // uri, вам нужно будет использовать какой-то обходной путь.
Один из способов передачи данных в iframe в другом домене - через идентификатор фрагмента в атрибуте src элемента iframe, который будет отображаться в свойстве hash объекта location 'окна' окна iframe;например:
Наружная страница:
<!doctype html>
<html><head></head><body>
<script>
var Namespace = {foo:1, bar:2};
var iframe = document.createElement("iframe");
iframe.src = "frame.html#" + JSON.stringify(Namespace);
document.body.appendChild(iframe);
</script>
</body></html>
Внутренняя страница "frame.html":
<!doctype html>
<html><head></head><body>
<a href="#" onclick="alert(location.hash.substring(1))">click me</a>
</body></html>