【发布时间】:2012-09-27 23:35:10
【问题描述】:
好的,这与“如何检测 iframe src 何时更改”问题类似但不一样,因为它是 iframe 想要更改的时间。我的意思是,我有一个带有 Google 的 iframe(我刚开始使用基于 Web 的操作系统,因为我很无聊,请查看 http://dextive.com/russellsayshi/os/)但问题是 google 使用标题来阻止在 iframe 中显示。
到目前为止,我解决它的方法是使用这个简单的源创建一个 PHP 页面(请原谅我的 PHP 菜鸟):
<?php
echo "<base href='".$_GET['url']."'>";
$site=file_get_contents($_GET['url']);
echo $site;
?>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
$("a").click(function() {
var href = this.href;
var baseURL = "overridexframe.php?url=";
window.location = baseURL + href;
return false;
});
</script>
这很好用,并且将 iframe 源设置为 overridexframe.php?url=(url goes here) 很好用,直到您尝试搜索。正如您在上面看到的,我有 jQuery 修复链接,但是当它尝试使用 javascript 更改它时,它不会转到我指定的覆盖 URI。有谁知道当 iframe 尝试更改但不能更改时尝试捕获的方法,所以我可以将 JS 应用于它?
【问题讨论】:
-
不能真正评论 JS,但你应该保护你的 GET 引用,至少要确保你正在转义值 - 这是一个潜在的安全漏洞。不要试图引发“哪个转义过程最好”的讨论,像 stripslashes($_GET['url']) 总比没有好。
-
此页面可能有助于转义您的 GET 值:stackoverflow.com/questions/1522313/…
-
不要把不想被框起来的页面框起来。
标签: javascript php jquery iframe