我继承了一些 javascript 代码,它直接iframe
通过它的名称访问,没有任何getElementById()
或任何东西。我找不到任何迹象表明这实际上是合法的,但它似乎适用于我尝试过的浏览器(Chrome、Firefox、IE10、Windows 版 Safari)。
简单的测试用例:
<iframe name="iFrameName" id="iFrameId" src="test2.html"></iframe>
<button onclick="iFrameName.myFunction();">click me</button>
iframe 的 test2.html src 包含:
<script type="text/javascript">
function myFunction()
{
alert("OH HAI!");
}
</script>
单击按钮效果很好 - 弹出警报“OH HAI”。
这是如何运作的?它应该工作吗?依靠还是应该使用getElementById()
来检索 iframe 是否安全?