Как закрыть окно Kendo из содержимого окна?

У меня есть приложение. Нажав кнопку, я попытался открыть модальное окно кендо. Она открывается. Мое приложение находится в одном домене, а содержимое окна Kendo-из другого домена. Теперь я хочу закрыть модальное окно кнопкой, которая находится внутри окна кендо. Здесь начинается вопрос. Я не могу закрыть модальное окно. Я искал с помощью Google, но не нашел никакого решения - Знаете ли вы его?

2 ответов


после прочтения ваших комментариев к моему предыдущему ответу я думаю, что вы вопрос вводит в заблуждение. Вы говорите о modal, другой домен и close button но из ваших комментариев кажется, что ничего из этого на самом деле не имеет значения. Из ваших комментариев я делаю вывод, что вы хотите разместить button (на самом деле a close button но может быть любой другой) в KendoUI window и кроме того, вы хотите, чтобы отобразить страницу (случайно) в другом домене. Если это то, что вы действительно хотите-и предвидя проблему, связанную с кросс-доменом и безопасностью - я бы рекомендовал вам использовать content.template и определите шаблон, включая ваш button и 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();
});

вы могли бы даже сделать кнопку float поверх остальной части страницы, определив следующий стиль для close button.

#close2 {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10000;
}

следующий код JavaScript определяет button об открытии modal kendoWindow. После нажатия кнопки вы можете нажать button в теле window для закрытия его, как вы хотите.

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>