javascript - 如何让一个网页显示在另一个网页中?

标签 javascript jquery spring iframe

我正在尝试使用 spring-security 框架创建一个网络应用程序“A”。身份验证后,它将把用户带到一个页面,其中另一个网络应用程序“B”(托管在同一/其他服务器)显示在一个窗口中(可使用 iframe 实现)。主网络应用程序“A”从用户那里获取网络应用程序“B”的链接地址,因此网络应用程序“B”应该是动态可变的。

我已经创建了具有 CAS 身份验证的网络应用程序“A”。身份验证后,它使用 iframe 在窗口中显示网络应用程序“B”,但是当我尝试使用 jQuery 和 Javascript 动态更改网页“B”时,它失败了。

如果有人能帮助我,我将不胜感激。首先,让我知道我做的是否正确,否则建议我正确的步骤。也让我知道是否有更好的方法来实现相同的目标。请参阅下面的代码。

谢谢, 萨钦

<!DOCTYPE html>
<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            $("button").click(function(){
                $("#serverurl").attr("src", $("#Link").val());
            });
        });
    </script>
</head>

<body>
<h1>Secure Page</h1>
<p>This is a protected page. You can get to me if you've been remembered,
    or if you've authenticated this session.</p>

<p><a href="../">Home</a>
<p><a href="../j_spring_security_logout">Logout</a>

<p>Enter URL: <input type="text" id="Link" value="www.google.com"></p>
<button>Show webpage</button>

<div><iframe src="http://w3school.com" id="serverurl" width="800" height="600"></iframe></div>
</body> </html>

最佳答案

我在 jsFiddle 上重新创建了您的示例:

http://jsfiddle.net/eZRTw/1/

所以,你有两个问题:

  1. 您的输入值缺少 http://。所以您的浏览器会尝试打开一个相对路径,例如:http://yourserver.com/www.google.com

  2. 如果您打开浏览器控制台并单击“显示网页”,您将看到如下错误:拒绝在框架中显示“https://www.google.com/”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。。发生这种情况是因为谷歌服务器 sends a header避免 clickjacking attacks .

如果你想在 iFrame 中显示的所有网站都没有发送 X-Frame-Options,比如 google,只需修复第一项,一切都会好起来的。

关于javascript - 如何让一个网页显示在另一个网页中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16228092/

相关文章:

javascript - 将表单数据从php传递到ajax

javascript - Twitter 按钮在 IE8 中导致 JS 错误(预期标识符)

Spring:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在附近使用的正确语法

jquery - 当鼠标悬停在元素右侧的元素上时,在图像下方显示一个框

javascript - 为什么在计划开始新的一个月后月份开始增加?

Spring 和富客户端(React.js 等),防止重复模板

java - 如何在Spring Integration中获取请求的路径模式?

javascript - 在 ES6 中,有 iterator.next();有没有办法提供 iterator.previous()?

javascript - Jquery选择2 : Not able to set outside variable

javascript - 当窗口调整大小效果不佳时更改框的 css