Я унаследовал код javascript, который напрямую обращается к iframe
по его названию, без каких-либо getElementById()
или чего-то еще. Я не могу найти никаких признаков того, что это действительно законно, но, похоже, он работает в браузерах, в которых я это пробовал (Chrome, Firefox, IE10, Safari для Windows).Непосредственный доступ к iframe по имени - это законно?
Простой тест:
<iframe name="iFrameName" id="iFrameId" src="test2.html"></iframe>
<button onclick="iFrameName.myFunction();">click me</button>
И test2.html ГКЗ фрейма содержит:
<script type="text/javascript">
function myFunction()
{
alert("OH HAI!");
}
</script>
Нажатие кнопки отлично работает - предупреждение "OH HAI" выскакивает.
Как это работает? Должно ли это работать? Безопасно ли полагаться или я должен использовать getElementById()
для извлечения iframe?