获取iframe网址的替代方法

时间:2012-03-03 18:59:05

标签: django iframe

我正在建立一个网站,用户基本上可以#34;标记"来自其他网站的东西 - 例如他们浏览第三方的目录,一旦他们点击了他们喜欢的项目,他们会以某种方式向我的网站显示该特定项目(例如通过网址)。我最初的想法是有一个iframe,一个"标记"我自己网站顶部的一个小栏中的按钮,以及iframe中的第三方网站 - 但是,如果用户导航离开初始网址,我发现无法获取iframe的网址。这样做有其他选择吗?

2 个答案:

答案 0 :(得分:0)

您可以从其他网站检索html,修改它并向您的用户展示。当然,您应该获得网站所有者的授权,并更新您的修改器以进行任何html布局更新。你需要以某种方式解决页面中的所有链接,包括css,js等。

iframe不是一个选项,您无法以任何方式控制框架中的页面。这是所有浏览器的安全策略。

答案 1 :(得分:0)

(我知道我有点迟了但可能有人发现它很有用)

我遇到了同样的问题。我得出的结论是,只有这样才能在PHP中创建代理。这就是我所做的(“proxy.php”文件的内容):

<?php

$proxy = 'http://yoursite.com/proxy.php';
$host = parse_url($_GET['url'], PHP_URL_HOST);
$dir  = $_SERVER[DOCUMENT_ROOT].'/cache_proxy/'.$host;
if(!is_dir($dir))
    mkdir($dir);
$filepath = $dir.'/'.md5($_GET['url']);

if(is_file($filepath)){
    include($filepath);
}else{
    $page = file_get_contents($_GET['url']);


    $page = preg_replace('/(a href)=[\'\"](http.*)[\'\"]/', '$1="'.$proxy.'?url=$2"', $page);
    $page = preg_replace('/(a href)=[\'"][^http](.*)[\'"]/', '$1="'.$proxy.'?url=http://'.$host.'/$2"', $page);
    $page = preg_replace('/(href|src)=[\'"][^http+](.*)[\'"]/', '$1="http://'.$host.'/$2"', $page);

    file_put_contents($filepath, $page);

    echo $page;
}?>

现在您可以使用src =“http://yoursite.com/proxy.html?url=http://othersite.com

插入iframe