• 利用window.parent调用Iframe父页面变量、方法的爬坑之路


    window  parent 属性

    语法(parent属性返回当前窗口的父窗口)

    window.parent 

    也就是可以通过此属性可调用父页面的方法和属性,例如

    window.parent.父页面方法()     //window.parent.parentFn();
    window.parent.父页面属性       //window.parent.parentVar;

    但是如果父页面引入jq并把方法和属性在写$(function(){ })中,那么问题就来了。例如

    1、父页面写法如下

    2、子页面写法如下

     此时调用父页面的变量为undefined,而且调用方法直接报错,如图

    之所以导致错误的原因,主要还是$(function(){ })这个方法,因为在这个方法中定义的变量和方法并不是全局的。以下主要介绍以下$(function(){ })方法

    $(function(){ })方法中定义的变量和方法其实是局部的,也就是在$(function(){ })形成了自己的局部作用域,类似与es6的 “{}”形成的块级作用域。分析代码如下

    而在子页面调用的变量和方法是全局的(即属于window对象的),所以此时子页面调用父级的方法和属性在全局(window)并不存在,所以会报错。解决方法在父页面修改,将变量和方法放到全局(即挂在window上)代码如下

     或

     以上两种方法都可以解决之前子页面调用问题

  • 相关阅读:
    javascript中对象两种创建方式
    javascript中in用法介绍
    爬虫介绍
    解决“(1146, "Table 'mydb.django_session' doesn't exist")”报错的方法
    使用docker 安装oracle
    Mac. 修改bash_file
    http://www.yyne.com/python使用-urllib-quote-进行-url-编码小技巧/
    pycharm database 使用
    pycharm add configuration
    mysql cmmand not found
  • 原文地址:https://www.cnblogs.com/little-baby/p/11976854.html
Copyright © 2020-2023  润新知