[英]how to load a webpage in an iframe
我有一个来自用户的两个静态页面,这些页面已部署在他们的服务器上。 目前,我正在从后面的代码中呼叫他们的服务器并加载它们。 但是现在我不想在通话后编写代码。 相反,我想将这些静态页面加载到iframe中。 那些静态页面的链接(URL)存储在我的web.config中。 在初始化调用期间使用C#,我将这些URL复制到隐藏字段中,并将它们分配给iframe的src,如下所示:
<script>
var bLoaded = false;
function LoadIframe1() {
if (!bLoaded) {
var iframe1 = document.getElemetById('iframe1');
if (typeof (iframe1) != 'undefined' && iframe1 != null) {
iframe1.src = hiddenfield.value;
bLoaded = true;
}
}
}
</script>
<iframe id="iframe1" onload="Loadframe1();" />
现在的问题是,如果文件在项目目录中,则可以正常工作。 但是如何加载不在解决方案目录中的文件?
为什么要使用JavaScript? 您为什么不只在渲染上设置src
?
<iframe id="iframe1" src="<%= ExternalPageUrl %>" />
并且在代码背后有一个属性来返回URL
protected String ExternalPageUrl
{
get
{
return "http://www.example.com/path/to/page-you-need.html";
}
}
没有更多信息很难确定-例如,浏览器开发工具中可能报告的错误,但是您可能会遇到SAMEORIGIN
限制 。
这是Chrome开发者工具控制台如何报告的示例...
拒绝在框架中显示“ https://stackoverflow.com/ ”,因为它将“ X-Frame-Options”设置为“ SAMEORIGIN”。
...将'http://stackoverflow.com'
分配给iframe1.src
。
无论使用codebehind还是JS,都需要考虑这一点。
请参阅相关的SO社区Wiki问题与解答,以获取如何进行适合您情况的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.