【问题标题】:How to call parent window function on child window?如何在子窗口上调用父窗口函数?
【发布时间】:2017-11-09 06:03:58
【问题描述】:

我想在子窗口上调用父级中定义的 javascript 函数。 我已经搜索了 window.opener 和 window.parent,但它们在父窗口而不是子窗口上调用函数。 如果可以通过本地存储也可以。 父窗口函数:

var myFunction=function download() {
        console.log("in jsp download")
        $("#btnExport").click(function(e) {
            e.preventDefault();

            //some operation
        });
    }

    window.onload = function() {
        localStorage.setItem("storageName",myfunction);

    }

子窗口

<button id="exportExcel" onclick="localStorage.getItem("storageName")">Export</button>

但这会在子窗口上出现错误

【问题讨论】:

  • “在子窗口上”是什么意思?听起来您实际上只是想传递一个参数。
  • 我不认为将函数存储在本地存储中是个好主意。 stackoverflow.com/questions/11063630/…
  • 我的意思是我想在子页面而不是父页面上运行父 javascript 函数。

标签: javascript jquery


【解决方案1】:

当您创建函数时,您会将其附加到父级的作用域。如果父页面打开子页面(通过window.open),您可以通过子页面的window.opener 对象访问其范围。

父页面

Function DoSomething(){}

子页面

window.opener.DoSomething()

【讨论】:

  • 你是对的,那个功能是可见的,但是它在父屏幕上运行,我想在子屏幕上运行它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
相关资源
最近更新 更多