You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery UI Menu在Frames中被截断的技术问题求助

Frame环境下jQuery UI Menu被截断的问题

我正在协助企业维护一款基于Frames的老旧Web应用,需要在顶部Frame(布局中标注为x的区域)添加jQuery UI Menu。此前能让jQuery UI Dialog显示在所有Frames上方的逻辑,套用到Menu上完全无效——Menu依然会被Frame截断。

布局示意

------------
|    f    x|
------------
|  |       |
|  |   f   |
| f|--------
|  |       |
|  |   f   |
------------

代码逻辑问题

当前代码中,每个子窗口的window对象都定义了showUserMenu()方法,但根窗口window.top并没有这个方法。这导致递归调用根窗口方法的逻辑无法执行:if判断的前半部分rootWindow !== window.self是成立的,但后半部分rootWindow.showUserMenu不满足,最终只能执行当前窗口内的Menu显示逻辑。我无法理解为什么同样的逻辑对Dialog有效,对Menu却行不通。

相关代码

(function () {
    window.showUserMenu = function () {
        var rootWindow = window.top;
        if ((rootWindow !== window.self) && rootWindow.showUserMenu) {
            return rootWindow.showUserMenu();
        }
        else {
            $('#userMenu').show().position({ my: "right center", at: "right center", of: "#userName" });
        }
    };
})();

问题截图

Menu被Frame截断的效果

内容的提问来源于stack exchange,提问作者Hultan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:35:03