首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >krpano:自定义插件操作未知/已注册?

krpano:自定义插件操作未知/已注册?
EN

Stack Overflow用户
提问于 2019-06-28 11:10:16
回答 1查看 126关注 0票数 0

我尝试测试一个非常基本的自定义插件操作,但我似乎犯了一个错误。

这是我的插件:

代码语言:javascript
复制
function krpanoplugin() {
    var local = this;   // save the 'this' pointer from the current plugin object

    var krpano = null;  // the krpano and plugin interface objects
    var plugin = null;

    var xml_value = 100.0;   // the value for a custom xml attribute

    // registerplugin - startup point for the plugin (required)
    // - krpanointerface = krpano interface object
    // - pluginpath = the fully qualified plugin name (e.g. "plugin[name]")
    // - pluginobject = the xml plugin object itself
    local.registerplugin = function(krpanointerface, pluginpath, pluginobject) {
        // get the krpano interface and the plugin object
        krpano = krpanointerface;
        plugin = pluginobject;

        // first - say hello
        krpano.trace(1, "Bridge Plugin loaded: [" + plugin.name + "]");

        // add plugin action (the attribute needs to be lowercase!)
        plugin.jsbmodal = action_jsbmodal;
    };

    function action_jsbmodal() {

        console.log(arguments);
        krpano.trace(arguments);
    }
}

但是如果我尝试在一个热点上执行动作onClick,如下所示:

代码语言:javascript
复制
<hotspot  name="hotspot_171" style="link_hs_sm"  url="%CURRENTXML%/add_hotspot/picture/icon-text.png" distorted="true" alpha="1" capture="true" depth="1000" flying="0" handcursor="true" zorder="5" zoom="false"
            ath="160.8416" atv="-37.4461" width="50" height="prop" rx="0" ry="0" rz="0" ox="0" oy="0" rotate="0" scale="1" edge="center"
            install_onclick="3" name_hs="hotspot_171" scene_EL="scene_8" info_Ah="add_hotspot/text/leipzig-test.html" fov_EL="140" enabled2="true" visible2="true" drag_hs="true"
            onclick="jsbmodal('om')"
        />

我只收到以下消息:

代码语言:javascript
复制
 WARNING: Unknown action: jsbmodal

我已经像这样注册了这个插件:

代码语言:javascript
复制
<plugin name="jsbModal" url="../jsbModalPlugin.js" keep="true" preload="true" />

你能看到我哪里出了错吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-02 06:32:19

根据https://krpano.com/forum/wbb/index.php?page=Thread&postID=78841的说法,最干净的解决方案可能是在xml中使用插件操作语法:

plugin[YOUR_PLUGIN_NAME].yourAction()

这就是我的例子:

代码语言:javascript
复制
<hotspot name="hotspot_171" [...]
         onclick="plugin[jsbmodal].jsbmodal('om')"
/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56800471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档