Альтернативы получению URL iframe - PullRequest
1 голос
/ 03 марта 2012

Я создаю веб-сайт, на котором пользователи, по сути, «помечают» вещи с другого сайта - например, они просматривают сторонний каталог, и когда они попадают в понравившийся элемент, они каким-то образом указывают моему сайту об этом конкретном элементе(например, через URL).Первоначально я думал, что у меня будет iframe, кнопка «пометить» на моем собственном сайте в маленьком баре вверху и сторонний сайт в iframe - однако я обнаружил, что невозможно получить URL-адрес iframeесли пользователь уходит от исходного URL.Есть ли альтернатива этому?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2012

(я знаю, что немного опоздал, но, может быть, кому-то это покажется полезным)

У меня была такая же проблема.Я пришел к выводу, что единственный способ сделать это - создать прокси в 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;
}?>

Теперь вы можете вставить iframe с помощью src = "http://yoursite.com/proxy.html?url=http://othersite.com"

0 голосов
/ 04 марта 2012

Вы можете получить html с другого сайта, изменить его и показать своему пользователю. Конечно, вы должны получить грант от владельца сайта и обновить свой модификатор для любого обновления HTML-макета. И вам нужно будет как-то разрешить все ссылки со страницы, включая css, js и т. Д.

Если фрейм не является опцией, вы не можете управлять страницей во фрейме. Это политика безопасности для всех браузеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...