Kendo ui 如何从窗口内容中关闭剑道窗口?

Kendo ui 如何从窗口内容中关闭剑道窗口?,kendo-ui,window,Kendo Ui,Window,我有一份申请。在一个点击的按钮中,我试图打开剑道模式窗口。开门了。我的应用程序位于一个域中,剑道窗口的内容来自另一个域。现在我想用剑道窗口内的按钮关闭模式窗口。问题从这里开始。我无法关闭模式窗口。我使用Google it搜索,但没有找到任何解决方案-你知道吗?以下JavaScript代码定义了一个用于打开模式的按钮。单击后,您可以按窗口主体内的按钮,根据需要将其关闭 JavaScript代码: var myWindow = $("#id1").kendoWindow({ title :

我有一份申请。在一个点击的按钮中,我试图打开剑道模式窗口。开门了。我的应用程序位于一个域中,剑道窗口的内容来自另一个域。现在我想用剑道窗口内的按钮关闭模式窗口。问题从这里开始。我无法关闭模式窗口。我使用Google it搜索,但没有找到任何解决方案-你知道吗?

以下JavaScript代码定义了一个用于打开
模式的
按钮
。单击后,您可以按
窗口主体内的
按钮
,根据需要将其关闭

JavaScript代码:

var myWindow = $("#id1").kendoWindow({
    title  : "hi",
    visible: false,
    modal  : true
}).data("kendoWindow");

$("#open").on("click", function () {
    console.log("opening");
    myWindow.center();
    myWindow.open();
});
$("#close").on("click", function () {
    console.log("closing");
    myWindow.close();
})
以及
HTML

<a href="#" id="open" class="k-button">Open</a>

<div id="id1">
    <p>this is the content of my window</p>
    <a href="#" id="close" class="k-button">Close</a>
</div>

这是我窗口的内容


阅读了您对我上一个答案的评论后,我认为您的问题具有误导性。您谈到了另一个域和
关闭
按钮
模式
,但从您的评论中似乎没有任何相关内容。我从您的评论中得出结论,您希望在KendoUI
窗口中放置一个
按钮
(实际上是一个
关闭
按钮
,但可能是任何其他按钮),此外,您还希望显示另一个域中的页面(顺便说一句)。如果这是您真正想要的,并且预见到与跨域和安全性相关的问题,我建议您实际使用
content.template
,并定义一个模板,其中包括您的
按钮和一个
iframe
引用页面
www.xyz.com

像这样的

var myWindow2 = $("#id2").kendoWindow({
    modal    : true,
    draggable: false,
    content  : {
        template: '<a href="javascript:void(0);" id="close2" class="k-button">Close</a>' +
                '<iframe src="http://www.xyz.com" frameborder="0" class="k-content-frame"></iframe>'
    },
    visible  : false,
    width    : 400,
    height   : 200,
    resizable: false,
    iframe   : true
}).data("kendoWindow");

$("#open2").on("click", function () {
    myWindow2.center();
    myWindow2.open();
});

$("#close2").on("click", function () {
    myWindow2.close();
});

非常感谢你的回答。但这并不是我问题的实际解决方案。模态的内容来自另一个域。“关闭”按钮将位于内容内。现在,如何通过单击按钮关闭此模式窗口。如果是同一个域,则不会发生问题。但是父页面和模式窗口在不同的域中。您如何加载内容,
iframe
可能?window.kendoWindow({modal:true,animation:false,draggable:false,content:'width:'830px',height:'650px“,可调整大小:false,//title:false,visible:false}).data(“kendoWindow”).title(title.center().open();根据KendoUI文档(请参阅),KendoUI将引入一个用于显示页面的
iframe
。如果这是您的情况(我也这么认为),您将受到来自另一个网页的访问容器数据的严重限制(这些问题取决于浏览器-同源策略)。请检查KendoUI是否未使用
iframe
来显示
窗口的内容。如果是这样,您应该能够使用建议的解决方案,将
myWindow
声明为文档的全局(即
$(document.ready(function(){…})
,并将定义保留在内部)。亲爱的Onabari非常感谢您的回复。我知道关闭按钮(剑道窗口内容中)无法关闭窗口。我必须在客户端剑道窗口(在顶部或底部)而不是剑道窗口的内容中设置关闭按钮。再次感谢你。
#close2 {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10000;
}