content Object|String
Specifies a URL or request options from where the Window will load its content.
For URLs which start with a protocol (for example, http://), a container
iframe
element is automatically created. As this behavior may change in future versions, try to always use the iframe configuration option.
Example - fetching content from the server
<base href="https://demos.telerik.com/kendo-ui/window/ajax">
content.url String
Specifies the url from which the content is fetched
Example - fetching JSON and displaying it through a template
<base href="https://demos.telerik.com/kendo-ui/window/ajax">
<div id="dialog"></div>
<script>
$("#dialog").kendoWindow({
content: "../content/web/tabstrip/ajax/ajaxContent2.html"
});
</script>
content.dataType String
(default: "html")
The type of result expected from the remote service. Used values are "html" and "json".
Example - fetching and displaying JSON content it in the Window
<div id="dialog"></div>
<script>
$("#dialog").kendoWindow({
content: {
url: "https://demos.telerik.com/kendo-ui/content/shared/js/products.js",
dataType: "json"
}
});
</script>
content.iframe Boolean
If the URL for the Window content contains a protocol, the Window creates an iframe for the content and assumes that the nested page resides in another domain.
If the URL does not contain a protocol, the URL is treated as a local URL which will load a partial view and the Window does not create an iframe for the content.
To control the creation of iframe Window content, you have to explicitly configure the option.
Example - Explicitly configure an iframe
<div id="dialog"></div>
<script>
$("#dialog").kendoWindow({
content: {
url: "https://demos.telerik.com/kendo-ui/content/shared/js/products.js",
dataType: "json",
iframe: true
}
});
</script>
content.template String
The template for the content of a Window. Returned data from the server will be given as the data
of this template.
If the returned data is JSON, the dataType parameter has to be passed so that the data gets parsed by jQuery.
If the URL contains a protocol, set iframe
to false
. Otherwise, the JSON response will be injected in the content area of the Window as is.
Example - fetching JSON and displaying it through a template
<div id="dialog">
<p><strong>This example will not work unless you define a valid JSON service URL for `content.url`.</p>
<p>The expected JSON response is:
<pre>
{ username: "...my username here..." }
</pre>
</strong></p>
</div>
<script>
$("#dialog").kendoWindow({
content: {
url: "/userDetails",
dataType: "json",
iframe: false,
template: ({ username }) => `User name: ${username}`
}
});
</script>