Javascript 从中声明的子窗口调用主窗口中的函数
这个问题让我抓狂,好几个小时都找不到任何解决办法。我相信你们能帮我 我的Javascript 从中声明的子窗口调用主窗口中的函数,javascript,angularjs,Javascript,Angularjs,这个问题让我抓狂,好几个小时都找不到任何解决办法。我相信你们能帮我 我的controller.js文件中有一个controller,其中包含关于我页面的所有信息。我在这个页面上有一个按钮,它在一个新的弹出窗口中打开同一个页面。当用户单击弹出页面上的按钮时,我试图调用主窗口中的函数 Mycontroller.js: .controller('rackLayoutController', ['$scope', 'appService', 'rackLayoutService', 'siteServi
controller.js
文件中有一个controller,其中包含关于我页面的所有信息。我在这个页面上有一个按钮,它在一个新的弹出窗口中打开同一个页面。当用户单击弹出页面上的按钮时,我试图调用主窗口中的函数
Mycontroller.js
:
.controller('rackLayoutController', ['$scope', 'appService', 'rackLayoutService', 'siteService', '$location', '$log', '$sanitize', '$window', '$timeout',
function ($scope, appService, rackLayoutService, siteService, $location, $log, $window, $timeout) {
$( window ).ready(function() {
function refreshPopout(){
$(window).ready(function(){
console.log("readyyyyy");
setTimeout(function () {
window.location.reload();
}, 1000);
});
}
});
$scope.$on('updateRack', function () {
console.log("BROAD 1");
window.opener.refreshPopout();
})
当用户单击按钮时,我正在调用broadcast updateRack
,它正在打印我的log
,这很好,但功能不起作用
我得到一个错误:
TypeError:Object[Object global]没有方法“refreshPopout”
谢谢
当您调用refreshPopout时,它不是全局的
尝试:
谢谢你的回答。因为它是同一个页面(但不同的窗口),我想我不必让它成为全局的。现在可以了。
$( window ).ready(function() {
function refreshPopout(){
$( window ).ready(function() {
window.refreshPopout = function(){