【问题标题】:Javascript Extend NPObject (Google Earth Plugin API)Javascript 扩展 NPObject(谷歌地球插件 API)
【发布时间】:2011-05-20 14:49:05
【问题描述】:

我正在尝试在 Google Earth API 中扩展 KmlPlacemark。 Google 使用工厂方法来创建对象,所以我不能这样做:

    KmlPlacemark.prototype.foo = function () { /* ... */ }

我尝试在每个对象创建后简单地添加方法

    function foo () { /* ... */ }
    placemarkObj.foo = foo;

但它会抛出

Error: Trying to add unsupported property on NPObject!

我最终只是为它制作了一个包装器,但我仍然想知道是否还有其他方法。

【问题讨论】:

    标签: javascript flash inheritance google-earth-plugin


    【解决方案1】:

    我不太确定,但您似乎正在尝试扩展浏览器插件中存在的对象,这是不可能的 - 尽管这些对象可以在 JavaScript 中访问,但它们的实现是在内部的本机代码中NPAPI 插件。

    【讨论】:

    • 但我认为 flash 对象会有一个 javascript 包装器,这就是我要扩展的。
    • 这取决于您所说的“JavaScript 包装器”是什么意思——插件对象已经有一个无法扩展的 JavaScript 接口。但是,如果您的意思是 flash 对象有一个额外的 JavaScript 层,它包装了插件中的“原始”JS 接口,那么是的,在技术上可以扩展它。但是从您看到的“NPObect 上未支持的属性”错误来看,情况似乎并非如此
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2013-11-16
    • 2012-04-02
    相关资源
    最近更新 更多