Kendo ui 无法从剑道面板栏选项卡中的URL加载
我需要从URL加载新选项卡的内容,但我无法使其正常工作 我需要和HTML5之前的IFrame一样的东西 我要去的网站没有任何链接到托管网站 我先尝试了一个简单的版本Kendo ui 无法从剑道面板栏选项卡中的URL加载,kendo-ui,telerik-mvc,kendo-panelbar,Kendo Ui,Telerik Mvc,Kendo Panelbar,我需要从URL加载新选项卡的内容,但我无法使其正常工作 我需要和HTML5之前的IFrame一样的东西 我要去的网站没有任何链接到托管网站 我先尝试了一个简单的版本 @(Html.Kendo().PanelBar() .项目(面板栏=> { panelbar.Add().Text(“Test”).LoadContentFrom(@“); }) )首先,您需要为panelbar指定一个名称,否则它将无法工作。对于LoadContentFrom,您只需为其提供一个url即可。包含此html标记毫无
@(Html.Kendo().PanelBar()
.项目(面板栏=>
{
panelbar.Add().Text(“Test”).LoadContentFrom(@“);
})
)
首先,您需要为panelbar指定一个名称,否则它将无法工作。对于LoadContentFrom
,您只需为其提供一个url即可。包含此html标记毫无意义。因此,您的代码需要如下所示:
@(Html.Kendo().PanelBar()
.Name("Test")
.Items(panelbar =>
{
panelbar.Add().Text("Test").LoadContentFrom(@"https://www.google.com/");
})
)
但是,这仍然不起作用,因为对google.com(或任何其他没有适当的访问控制允许来源标题的https站点)的请求将被CORS阻止
因此,此方案可能有效,也可能无效,具体取决于要从中加载的外部站点
此外,如果您没有CORS问题,并且能够加载内容,这仍然不会像iframe那样工作,因为您将只接收HTML,而HTML可能会有损坏的图像,并且没有CSS。这是因为您将把这个html放在一个文档中,该文档无法访问这些资源,除非它们被域名引用。您必须搜索收到的整个html并替换任何图像、css和javascript引用。。。而这可能仍然无法提供与iframe相同的体验。这取决于您正试图做什么以及使用哪个站点。将一个外部站点嵌入到您自己的站点中并不像过去那样容易做到。这被认为是一种安全风险,现代浏览器在大多数情况下都不允许这样做。你应该看看你想要使用的网站是否提供了用于嵌入的官方小部件(比如youtube的嵌入代码),或者它们是否提供了一个API,你可以使用它与网站进行交互。