Я потратил около 5 дней, пытаясь решить эту проблему, и много искал, однако не смог найти решения для этой проблемы.
Вот код:
JavaScript(входит в простую страницу HTML, например: index.html
):
function createIframe() {
var ifrm = document.createElement("iframe");
ifrm.setAttribute("src", "page.html");
ifrm.style.width = "300px";
ifrm.style.height = "300px";
ifrm.style.border="0px";
ifrm.id="iframeID";
document.body.appendChild(ifrm);
}
createIframe();
Страница, которая загружается внутри iframe (page.html):
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Hello World</h1>
<input type="text" id="textID" value="Test">
</body>
</html>
JavaScript для доступа к iframe с родительской страницы (index.html):
В консоли Chrome я получаю документ page.html как:
<html>
<head>
</head>
<body>
</body>
</html>
Без других элементов, поэтому, когда я пытаюсь получить текстовое поле или его значение (используя: doc.getElementById("textID")
), я получаю ноль.
Я не уверен, где проблема: это в коде? или это в настройках Chrome? или где-то еще?
Все документы находятся в одном домене.
Примечание. Я хотел бы использовать чистый JavaScript.
Буду признателен за любую помощь.