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