Telerik RadEditor图像管理器窗口未正确显示

Telerik RadEditor图像管理器窗口未正确显示,telerik,radeditor,Telerik,Radeditor,我正在使用Telerik RadEditor,在图像管理器窗口中看到一些奇怪的行为,如下所示 诸如SiteCopy、Body Setup、Header Setup等选项卡都来自应该位于窗口后面的页面,但它们以某种方式显示出来。单击并将窗口拖动到屏幕上的另一个位置可以修复该问题,但是,无法使用X或Cancel关闭窗口。这似乎只发生在Chrome上,当我在页面上放大一点的时候。这是图像管理器的一个错误,还是可以采取措施防止这种行为 谢谢尝试一下这个帖子的想法: Chrome39再次破坏了互联网,因为

我正在使用Telerik RadEditor,在图像管理器窗口中看到一些奇怪的行为,如下所示

诸如SiteCopy、Body Setup、Header Setup等选项卡都来自应该位于窗口后面的页面,但它们以某种方式显示出来。单击并将窗口拖动到屏幕上的另一个位置可以修复该问题,但是,无法使用X或Cancel关闭窗口。这似乎只发生在Chrome上,当我在页面上放大一点的时候。这是图像管理器的一个错误,还是可以采取措施防止这种行为


谢谢

尝试一下这个帖子的想法: Chrome39再次破坏了互联网,因为它开始返回过去是整数的属性的十进制值,这可能会导致脚本错误

请尝试以下操作:

在主页上使用RadScriptManager

线程abocve中的脚本重写可能是您正在寻找的解决方案:

if (document.documentElement.getBoundingClientRect) {
    $telerik.originalGetLocation = function (element) {
        var e = Function._validateParams(arguments, [
            { name: "element", domElement: true }
        ]);
        if (e) throw e;
        if (element.self || element.nodeType === 9 ||
            (element === document.documentElement) ||
            (element.parentNode === element.ownerDocument.documentElement)) {
            return new Sys.UI.Point(0, 0);
        }

        var clientRect = element.getBoundingClientRect();
        if (!clientRect) {
            return new Sys.UI.Point(0, 0);
        }
        var documentElement = element.ownerDocument.documentElement,
            offsetX = Math.round(clientRect.left) + documentElement.scrollLeft,
            offsetY = Math.round(clientRect.top) + documentElement.scrollTop;
        if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
            try {
                var f = element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0;
                    offsetX += offset;
                    offsetY += offset;
                }
            }
            catch (ex) {
            }
            if (Sys.Browser.version === 7 && !document.documentMode) {
                var body = document.body,
                    rect = body.getBoundingClientRect(),
                    zoom = (rect.right - rect.left) / body.clientWidth;
                zoom = Math.round(zoom * 100);
                zoom = (zoom - zoom % 5) / 100;
                if (!isNaN(zoom) && (zoom !== 1)) {
                    offsetX = Math.round(offsetX / zoom);
                    offsetY = Math.round(offsetY / zoom);
                }
            }
            if ((document.documentMode || 0) < 8) {
                offsetX -= documentElement.clientLeft;
                offsetY -= documentElement.clientTop;
            }
        }
        offsetX = Math.round(offsetX);
        offsetY = Math.round(offsetY);
        return new Sys.UI.Point(offsetX, offsetY);
    };
}