繁体   English   中英

如何在iframe中加载网页

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM