【问题标题】:QlikView runs BodyOnLoadFunctionNames callbacks too early - why?QlikView 过早运行 BodyOnLoadFunctionNames 回调 - 为什么?
【发布时间】:2013-05-06 13:47:15
【问题描述】:

我在浏览器中遇到 QlikView 问题:我有一个列表框并尝试使用初始化脚本访问它。

使用InitWorkbench 函数注册脚本,使用它的BodyOnLoadFunctionNames 参数。到目前为止,这是可行的,并且初始化程序在启动时运行。

在初始化程序中,我尝试执行以下操作:

var doc = Qv.GetCurrentDocument();
var listbox = doc.GetObject('LB01');

之后,当我查看listbox.Type 时,不幸的是它是undefined。如果我延迟执行此查询,它会正确显示LB,因此显然查询有效 - 但只有在延迟执行时才有效。

因此,显然存在时间问题,并且似乎初始化程序运行得太早(或者我做错了什么)。

谁能指出解决方案是什么(或提示我做错了什么)?

【问题讨论】:

    标签: javascript qlikview


    【解决方案1】:

    好的,我找到了解决方案:内部更新函数尚未运行,并且所有值只有在此函数运行后才可用,因此您需要提供对 GetObject 的调用的回调(即在更新函数之后调用):

    var doc = Qv.GetCurrentDocument();
    var listbox = doc.GetObject('LB01', function () {
      console.log(listbox.Type); // => 'LB'
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 2011-03-31
      相关资源
      最近更新 更多