• 操作iframe


    页面控制iframe元素

    iframe元素.contentWindow.document.getElementById('');   //iframe元素.contentWindow为iframe对象

    iframe元素.contentDocument.getElementById('');    //iframe元素.contentDocument为document对象,IE6和IE7不支持

    iframe元素控制父元素

    window.parent.document.getElementById('');  //window.parent为iframe的父元素

    iframe元素控制顶层元素

    window.top.document.getElementById('');   //window.top为iframe的顶层元素

    iframe.onload 元素

    iframe元素.onload

    iframe元素.attachEvent('onload',function(){})     //用在IE上

    举例:

    1、阻止网站被钓鱼

    <!--主页面-->
    <iframe src = 'iframe1.html'></iframe>
    
    <!--iframe1.html页面-->
    <p>iframe1的页面</p>
    <!--在iframe的页面写JS-->
    if (window!=window.top) {
       window.top.location.href = window.location.href ;
    }
    //当window(iframe的页面) 不等于 window.top(主页面)  时
    //window.location.href  是iframe的网址
    //window.top.location.href 是主页面的网址

    2、改变iframe的大小

    思路:

    1) 一个主页面,两个iframe页面,由btn来切换iframe中的src,根据iframe页面的大小来改变iframe元素。

    2) iframe元素的src改变

    3) 页面控制iframe元素: iframe元素.style.height = iframe元素.contentWindow.document.body.offsetHeight + 'px';

    4) 在进行大小切换的时候,需要使用setTimeout来延迟一下,否则会无效,即:

    setTimeout(function(){

      iframe元素.style.height = iframe元素.contentWindow.document.body.offsetHeight + 'px';

    },100);

    jquery:

    DOM方法:

    父窗口操作IFRAME:window.frames["iframeSon"].document

    IFRAME操作父窗口: window.parent.document

    jquery方法:

    在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(”:text”);

    在IFRAME中操作 选中父窗口中的所有输入框:$(window.parent.document).find(”:text”)

    $(window.parent.document.body).find()

    跨域:

    方法一:(IE不支持,而且只能传一次值)

    1、创建一个iframe,设置src为空

    2、在将iframe.contentWindow.name的值设置成string

    3、重定向iframe的src为真实的值

    4、在iframe.html页面,就可获取window.name的值了。

    方法二:(IE8、IE7、IE6不支持)

    1、iframe的src为真实的值

    2、iframe.onload的时候进行

    3、iframe.contentWindow.postMessage(string,'http://www.baidu.com'),第一个参数要设置的值(字符串类型),第二个参数为网址。

    4、在iframe.html页面去获取值,如下:

      window.addEventListener('message',function(event){

        console.log(event.data);

      },false);

  • 相关阅读:
    小甲鱼Python第021讲函数:lambda表达式 | 课后测试题及参考答案
    小甲鱼Python第020讲函数:内嵌函数和闭包 | 课后测试题及参考答案
    How to reference two table when lack reference column.
    how find a record import other database.
    when create a table,then show error ora-00952 tablespace tsb_1 not exist
    TELNET_COMMAND
    ORACLE_SPOOL
    OFFICE_EXCEL_Combine text from two or more cells into one cell.
    ORACLE_LPAD_FUNCTION
    ORACLE_PROCEDURE_DROPTABLE
  • 原文地址:https://www.cnblogs.com/joya0411/p/3726745.html
Copyright © 2020-2023  润新知