Я, хотя это было бы достаточно просто, но я не могу найти ответ. Я должен знать, как я могу получить доступ к имени iframe из сказанного iframe. Я пробовал что-то вроде этого, но это не работает.
<iframe name="thename">
<script type="text/javascript">
alert(parent.name);
</script>
</iframe>
Вы были почти правы. Установка атрибута name
в фрейме
или iframe
устанавливает для свойства name
глобального объекта окна
фрейма значение эта строка. (Не parent
, который относится к окну документа, которому принадлежит фрейм.)
Таким образом, если какой-либо другой сценарий намеренно не изменил имя, это очень просто:
1.html:
<iframe name="tim" href="2.html"></iframe>
2.html:
<script type="text/javascript">
alert(window.name); // tim
</script>
Ну, элемент IFRAME ничего не должен содержать, он нацелен на другой документ. Поэтому использование тега SCRIPT внутри IFRAME не имеет большого смысла. Вместо этого используйте SCRIPT внутри вызываемого документа, например
iframe_caller.html:
<html>
<body>
<iframe id="theIframe" name="theIframe" src="iframe_doc.html"></iframe>
</body>
</html>
iframe_doc.html:
<html>
<body>
<script type="text/javascript">
var iframes= parent.document.getElementsByTagName("iframe");
document.write(iframes[0].getAttribute("id"));
</script>
</body>
</html>
Обратите внимание, что я использую там parent.document.function ()
.
Что-то вроде этого должно работать:
parent.document.getElementById('idhere').name;
Вы должны использовать родительский элемент, а затем получить элемент по идентификатору, имени и т. Д. ... затем получить доступ к свойству name.
Итак, ваш код должен быть таким:
<iframe name="thename">
<script type="text/javascript">
var iframeName = parent.document.getElementById('idhere').name;
</script>
</iframe>