Ho un'applicazione. In un pulsante cliccato ho provato ad aprire una finestra modale Kendo. Sta aprendo. La mia applicazione è in un dominio e il contenuto della finestra di Kendo proviene da un altro dominio. Ora voglio chiudere la finestra modale con un pulsante all'interno della finestra di Kendo. Qui inizia il problema. Non riesco a chiudere la finestra modale. Ho cercato usando Google ma non ho trovato alcuna soluzione - ne conosci uno?Come chiudere una finestra di Kendo dal contenuto della finestra?
risposta
Dopo aver letto i vostri commenti alla mia risposta precedente credo che si mette in discussione è fuorviante. Parli di modal
, un altro dominio e close
button
ma dai tuoi commenti sembra che nulla di ciò sia effettivamente rilevante. Concludo dai vostri commenti che volete inserire uno button
(in realtà un close
button
ma potrebbe essere qualsiasi altro) in un KendoUI window
e inoltre si desidera visualizzare una pagina (che casualmente) si trova in un dominio diverso. Se questo è ciò che realmente desideri e prevedi il problema relativo al dominio incrociato e alla sicurezza, ti consigliamo di utilizzare effettivamente lo content.template
e di definire un modello che includa lo button
e un iframe
che fa riferimento alla pagina www.xyz.com
.
qualcosa di simile ...
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();
});
si potrebbe anche fare il pulsante float
in cima al resto della pagina definendo il seguente stile per close
button
.
#close2 {
position: absolute;
top: 10px;
left: 10px;
z-index: 10000;
}
Il seguente codice JavaScript definisce uno button
per l'apertura di modal
kendoWindow
. Una volta cliccato puoi premere uno button
all'interno del corpo dello window
per chiuderlo come desideri.
codice 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();
})
e la 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>
Grazie mille per la risposta OnaBari. Ma questa non è la vera soluzione del mio problema. Il contenuto del modale proviene da un altro dominio. e il pulsante di chiusura sarà all'interno del contenuto. Ora come chiudere questa finestra modale facendo clic sul pulsante. Se è lo stesso dominio non si verifica alcun problema. Ma la pagina madre e la finestra modale si trovano in un dominio diverso. – Saikat
Come stai caricando il contenuto? Iframe' forse? – OnaBai
window.kendoWindow ({ modal: true, animazione: false, trascinabili: false, contenuti: 'http://www.xxxx.com' larghezza: "830px", altezza: "650 px", ridimensionabile: false, // title: false, visible: false }). Dati ("kendoWindow"). Title (Title) .center(). Open(); – Saikat
Caro Onabari, ti ringrazio tanto per la tua risposta. Ho capito che il pulsante di chiusura (nel contenuto della finestra di Kendo) non poteva chiudere la finestra. Devo fare il pulsante di chiusura nella finestra del kendo lato client (in alto o in basso) non nel contenuto della finestra di kendo. Grazie ancora. – Saikat