zoukankan      html  css  js  c++  java
  • window.frames[0].src为什么不行

    最近做项目时遇到一个问题,就是js在框架结构的网页文件与普通的网页文本文件执行顺序的区别

    demo1:normal
    <html>
    <head>
    <script>.......</script>
    </head>
    <body>........</body>
    </html>
    
    demo2: frameset
    
    <html>
    <head>
    <script>.......</script>
    </head>
    <frameset>
        <frame>........</frame>
        <frame>........</frame>
    </frameset>
    </html>

    普通文件(demo1):按代码的先后顺序执行,所以是先加载js,后加载dom文件;所以要在js获得dom中的节点元素必须是在dom加载完毕才可以,否则为null;

    框架结构(demo2):先加载网页文件,再加载js;

    window.frames[0].src为什么不行

    最近很多朋友所问关于框架的问题都是因为不明白DOM框架原理而引起的,在这里就我所了解的,一并回答:

    在DOM文档对象模型中,window对象处于最高层,而框架除了是当前窗体的一个节点外,本身也是一个独立window对象, 当frames作为window对象时,有name属性,而没有src属性,只有作为节点时才有src属性, 也就是说window.frames[0]这种写法代表一个window对象,所以window.frames[0].src 当然是undefined了 ,这也是很多人容易混淆的原因!

    若要获得src属性,可以这样写:document.getElementById(frame_id).src  //节点对象

  • 相关阅读:
    博客作业01-日期抽象数据类型的设计与实现
    C语言博客作业06--结构体&文件
    C语言博客作业05--指针
    C语言博客作业04--数组
    C语言博客作业03---函数
    C语言博客作业02----循环结构
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
  • 原文地址:https://www.cnblogs.com/daxian2012/p/2621564.html
Copyright © 2011-2022 走看看