我们正在使用以下代码(MVC Razor View)创建一个kendo窗口:
function openServerDetailsWindow(ServerName) {
var serverDetailsWindow = $("#serverDetailsWindow");
serverDetailsWindow.empty();
serverDetailsWindow.append('@Html.Raw(String.Format("Loading Server Details...<br /><img src=\"{0}\" />", Url.Content("~/images/ajax_loader_wfred_bb0826.gif")))');
var $urlpath = "@Url.Action("ServerDetails", "Server", new { serverName = "SERVERNAMEPLACEHOLDER", Printable = false })".replace("SERVERNAMEPLACEHOLDER", ServerName);
if (!serverDetailsWindow.data("kendoWindow")) {
serverDetailsWindow.kendoWindow({
width: "1200px",
height: "650px",
modal: true,
visible: false,
title: "Application Name - Server Details-" + ServerName,
actions: ["Refresh", "Maximize", "Close"],
close: function (e) {
$(this.element).empty();
},
content: $urlpath
});
} else {
serverDetailsWindow.data("kendoWindow").refresh({ url: $urlpath });
}
if (!serverDetailsWindow.data("kendoWindow")) {
alert("Tried to open but serverDetailsWindow kendo data was not defined.");
} else {
//don't maximize the window! It prevents users from knowing it's a window and not a new page.
serverDetailsWindow.data("kendoWindow").title("Application Name - Server Details - " + ServerName.toUpperCase());
serverDetailsWindow.data("kendoWindow").center();
serverDetailsWindow.data("kendoWindow").open();
}
}这个函数是从Kendo Grid调用的,使用的是列模板,我们已经尝试了几种方法--它们的工作原理相同,在IE-8中出错,在Chrome中非常完美。
Option 1
string ServerLink = Html.ActionLink("#=SERVER_NAME#", "", "", new { onclick = "openServerDetailsWindow('#=SERVER_NAME#');return false;" }).ToHtmlString();
Option 2
string ServerClientTemplate = "<a href=\"\\#\" onclick=\"javascript:openServerDetailsWindow('#=SERVER_NAME#');\">#=SERVER_NAME#</a>";我们在网站的数百个地方使用这两个代码块。在大多数情况下,它在IE-8中工作得很好,而且在Chrome中总是工作的。在失败的页面上唯一显著的区别是,带有链接的网格是通过AJAX引入的,而在其一贯工作的页面上,网格是由Razor呈现的。我们无法理解为什么这将是重要的,或为什么它将只对IE-8重要。
据我所知,它在较新版本的IE中工作得很好。对不起,我们是一家大银行,不能升级IE。我已经试过禁止-不会发生的。
已试过,但未起作用:
$(document.body).append("<div></div>")创建一个新的div中的窗口--只在Chrome中工作,IE不会打开任何东西正如标题中所述,这里的问题是窗口顶部的关闭按钮(x按钮)在IE-8中没有做任何事情。很少,它会删除窗口的内容,但我们不能复制。close (x)按钮在那里,但它不突出显示,也不单击。当这种情况发生时,刷新和最大化按钮也会变得没有响应性.
发布于 2014-10-20 16:17:16
将函数的第一行更改为:
var serverDetailsWindow = $("<div></div>");...made它起作用。我们在之前使用附件创建了一个新的div。
https://stackoverflow.com/questions/26372167
复制相似问题