【问题标题】:GWT external JavaScript integration (OpenSeadragon) problem with EventHandlers after full screen全屏后与 EventHandlers 的 GWT 外部 JavaScript 集成(OpenSeadragon)问题
【发布时间】:2020-08-06 20:15:06
【问题描述】:

在我的 GWT 项目中,我目前集成了一个外部 JavaScript 包 OpenSeadragon(参见 here),它是一个具有动物园、旋转和全屏功能的 ImageViewer。到目前为止,它大多运作良好。唯一令人讨厌的问题是,从全屏模式返回后,再也无法点击任何内容。 我认为这种非常不受欢迎的行为的原因是,当 openseadragon 全屏显示时,它会将所有其他 Dom 元素移开(有关详细信息,请参阅this bug)。 代码如下:

    public native void createZoomeImage(String ressource, Element where, SingleImageEditor sie)
/*-{
    var viewer =  $wnd.OpenSeadragon({
        element: where,
        showRotationControl: true,
        prefixUrl: "scripts/openseadragon-bin-2.4.2/images/",
        debugMode: true,
        tileSources: ressource
    });
    viewer.addHandler("full-screen", function (data) {
        if(data.fullScreen == false){
                $wnd.activatepanel(sie);
        }
    });
}-*/;

Handler是我加的,因为一开始我想,再次激活面板就够了。 ($wnd.activatepanel(sie); 确实引用了一个 java 方法,它就是这样做的)。然而这并没有改变任何事情。 现在,我的问题是:有人知道在 GWT 中刷新事件处理程序的优雅方法或其他解决方法吗?

此致,

埃里克

【问题讨论】:

  • 如果这个项目使用一些新的/最新版本的 gwt,我建议从 jsni 迁移并改用 jsinterop。

标签: javascript java gwt gxt openseadragon


【解决方案1】:

我明白了:

        var viewer =  $wnd.OpenSeadragon({
        element: where,
        showRotationControl: true,
        prefixUrl: "scripts/openseadragon-bin-2.4.2/images/",
        tileSources: ressource,
    });
    viewer.addHandler("pre-full-page", function (data) {
            data.preventDefaultAction=true;
            openFullscreen();
    });
    function openFullscreen() {
        if (where.requestFullscreen) {
            where.requestFullscreen();
        } else if (where.mozRequestFullScreen) { 
            where.mozRequestFullScreen();
        } else if (where.webkitRequestFullscreen) { 
            where.webkitRequestFullscreen();
        } else if (where.msRequestFullscreen) {
            where.msRequestFullscreen();
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    相关资源
    最近更新 更多