Я знаю, что предмет может быть немного запутанным, но в моем поиске я нашел много вопросов о получении значения с родительской страницы, когда внутри iframe.Это не то, чего я хочу достичь.
У меня есть 2 html-страницы и файл js.Вот как они выглядят:
external.html:
...
<body>
<iframe src="./inner.html"></iframe>
</body>
....
inner.html
<head>
<script type="text/javascript">
var somevar = { id:302 };
(function() {
var ml = document.createElement('script');
ml.type = 'text/javascript';
ml.async = true;
ml.src = './some.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ml, s);
}) ();
</script>
</head>
some.js:
console.log(parent.somevar);
Чего я ожидаю, так это того, что код в some.js выведет объект «somevar», но он выведет «undefined».Если я запускаю inner.html напрямую (не через элемент iframe), он выводит объект отлично.
Если я выполняю
console.log(parent);
, я получаю DOM родительского окна (external.HTML).
Так что мой вопрос - как мне получить DOM inner.html из файла some.js (или других тегов скрипта в inner.html)
BR / Sune