【问题标题】:Check if an object is an element on google desktop检查对象是否是谷歌桌面上的元素
【发布时间】:2010-04-14 19:08:38
【问题描述】:

在浏览器的 javascript 中,我可以这样做来查看对象是否与 DOM 相关:

obj instanceof Node

我如何使用谷歌桌面来实现这一点? Node 未定义,这也不起作用:

obj instanceof basicElement

【问题讨论】:

    标签: javascript html dom google-desktop


    【解决方案1】:

    我不是 Google 桌面专家,我只是手头有一点时间!来自文档basicElement itself is never instantiated; it just provides a set of common properties and events for its descendant UI objects.

    因此看起来 JavaScript 对象永远不会是 basicElement 的实例。

    但是,您始终可以检查 JavaScript 对象是否实现了 basicElements more obscure method or property 名称之一 - 这应该可以合理地表明您正在使用的对象是 basicElement。使用这样的东西:

    if((obj != 'undefined') && (obj != null) && ("hitTest" in obj)){
        alert('Probably implements basicElement');
    } else {
        alert('Not a basicElement');
    }
    

    【讨论】:

    • 例如,作为 View 类的实例的东西怎么样?
    • 我快速浏览了 GD 示例代码,我发现唯一可以直接实例化的 GD 类是“DetailsView”,它用于 XML 内容。我的猜测是,这意味着 instanceof 对于确定指定对象的类型有点死胡同。您需要执行类似 ("obj instanceof (new ViewDetails())") 的操作才能使 instanceof 正常工作。因此,我认为对于大多数 GD 类,您需要寻找已知属性/方法的存在来确定对象的标识。
    猜你喜欢
    • 2011-06-13
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 2011-06-12
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    相关资源
    最近更新 更多