2012-03-03 96 views
1

我正在建立一个网站,用户从其他网站实质上“标记”某些东西 - 例如他们浏览第三方的目录,并且一旦他们点击了他们喜欢的项目,他们就会以某种方式向我的网站表明该特定项目(例如,通过url)。我最初的想法是有一个iframe,在我自己的网站上的一个“标记”按钮在顶部的一个小酒吧,并在iframe中的第三方网站 - 但是,我发现不可能获得iframe的网址如果用户导航离开初始网址。有没有其他办法可以做到这一点?替代获取iframe网址

回答

0

您可以从其他网站检索HTML,对其进行修改并显示给您的用户。当然,你应该从网站所有者那里获得一笔赠款,并更新你的修改器,以便进行任何html布局更新。你需要解决某些页面上的所有链接,包括CSS,JS等等。

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

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