2
我繼承了一些javascript代碼,它直接通過它的名字訪問iframe
,沒有任何getElementById()
或任何東西。我找不到任何跡象表明這實際上是合法的,但似乎可以在我嘗試過的瀏覽器(Chrome,Firefox,IE10,Windows for Safari)中使用。按名稱直接訪問iframe - 這是合法的嗎?
簡單的測試案例:
<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是否安全?