iframe在页面中有个name属性,当iframe加载完成后,可以通过ifame中的window.name获取到,但是此后无论怎样修改iframe的name属性值,iframe内部window.name也读不到改变的值,而始终是初始化那时候的name属性值。
谁知道这事如果想让这两个值同步咋办?也就是说我改了iframe的name属性值,在iframe内部通过window.name就能够获取到修改后的属性值?

解决方案 »

  1.   


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    </head>
    <body>
    <iframe src="http://www.baidu.com" name="test" onload="this.name = 123"></iframe>
    <button>name改变了吗?</button>
    <script>
    function $(el){
    return typeof el == 'string' ? document.getElementById(el) : el;
    }
    function $t(name, cot){
    cot = cot || document;
    return cot.getElementsByTagName(name);
    }
    alert( $t('iframe')[0].name )
    $t('button')[0].onclick = function(){
    alert( $t('iframe')[0].name )
    }
    </script>
    </body>
    </html>
    楼主 这个意思?
      

  2.   

    不完全是。
    是这样的
    <html>
       <iframe src='a.html' name='aa'></iframe>
    </html>
    主页面就简写这样
    a.html里面只写代码,用于读那个name属性
    <script>
        alert(window.name);
    </script>
    我在主页面修改iframe的name属性,在a.html中读这个name,发现加载a.html后能够读到name=aa,但是此后无论我怎么在主页面改iframe的name,a.html中读到的值都是aa,始终是加载后那个值,而不再是我期望的是修改后的值。
    我想问问这事有没有办法让这两个值同步,或者说这两个值本来就没啥关系~纠结
      

  3.   

    1.html<!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    <style>

    </style>
    </head>
    <body>
    <iframe name="1" id="test" src="2.html"></iframe>
    </body>
    </html>
    2.html<!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    <style>

    </style>
    </head>
    <body>
    <script>
    alert( 'iframe里弹出的window.name: \n' + window.name )
    </script>
    </body>
    </html>楼主是不是説的这个问题?
    2.html 没定义window.name, 却有值,而这个值是 1.html iframe的name值?
      

  4.   

    LZ没保存 html文档吧  我试了 能获得改变后的 name 值啊