【问题标题】:Opening web pages inside a div in asp.net在 asp.net 中的 div 内打开网页
【发布时间】:2012-11-28 20:08:31
【问题描述】:

我需要在我的 ASP 应用程序中上网,为此我删除了一个 iframe。

但之后我发现某些网站,如 google、fb、youtube 等,出于安全考虑,无法在 iframe 中打开。

在与同事讨论后,我想到了一种在 div 中显示网页(就像 iframe 一样)然后在模式弹出窗口中显示该 div 的解决方案,用户可以在其中导航到其中的任何页面模态弹出

但是经过一些初步的搜索,我还没有找到任何可以开始实现目标的东西。所以,我想在这里问它。

谁能指导我正确的方向来帮助我实现我的目标。任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 这就是 iframe 的用途,您有什么“安全问题”?
  • 有点荒谬的要求。如果人们能够访问您的基于 Web 的应用程序,那么很明显他们也能够在 Web 上冲浪。您从采用这种方法中获得了什么价值?用户呢?
  • Paul : 用户可以访问网络,没关系..但我需要允许他们浏览我的应用程序,然后必须使用 url 做一些事情
  • @rrrr : 你能通过添加一个 iframe 并在其中打开 google.com 来检查吗?
  • @VipinNair 如果一个站点使用 X-Frame-Options 阻止自己嵌入到 iframe 中,那么唯一的其他选择是发出 HTTP 请求,解析响应并自己显示内容。但是,除非您自己处理所有链接,否则当用户单击链接时,这将中断。基本上,你不能做你想做的事。

标签: c# asp.net iframe webpage modalpopup


【解决方案1】:

看这个例子:

$('#btnShowModal').click(function () {
            $.post
            (
                'MyController',
                {
                    some parameters to pass
                },
                function (htmlResult) {
                    $('#dialogWindowContent').html('');
                    $('#dialogWindow').dialog(
                    {
                        title: 'Title',
                        autoopen: true,
                        width: 'auto',
                        //height: 180,
                        resizable: false,
                        modal: true,
                        draggable: false
                    });
                    $(window).resize(function () {
                        $("#dialogWindow").dialog("option", "position", "center");
                    });
                    //position of modalWindow will always be in center of your browser window

                    $('#dialogWindowContent').append(htmlResult);
                    $("#dialogWindow").dialog("option", "position", "center");
                });
            return false;
        });

这是我的按钮和 div 到模态窗口:

<input type="button" value="Add theme" id="btnShowModal" />
<div id="dialogWindow">
    <div id="dialogWindowContent">
    </div>
</div>

我将它写入我的 MVC 应用程序。据了解,您应该只重写 post-method。作为htmlResult,您可以返回任何html代码,它将显示在您的模态窗口中。

希望对你有用。

【讨论】:

  • 感谢 Evgenia 的回答,但我还希望对话框内有一个标签栏,以便用户也可以在模式弹出窗口中导航到其他页面
  • 现在您正在添加原始问题中没有的要求。您需要清楚地说明所有您遇到的问题。由于让阻止站点显示在您自己的内容中是一个足够大的障碍,我认为一旦您解决了第一个问题,您就可以开始一个 问题,并随意添加这个要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多