Какую альтернативу iframe вы видите для меня - PullRequest
2 голосов
/ 09 февраля 2011

У меня есть веб-сайт, на котором я хочу сделать кнопку, похожую на Facebook, чтобы добавить ее на другой (второй) веб-сайт

Я хочу показать, сколько раз на моем втором сайте.

У меня есть этот код: [на целевом сайте] Который просто запрашивает и повторяет количество раз.

<?PHP include('../../includes/conexion.php');

$url = $_get['url'];
 $sql = "SELECT times FROM URLS WHERE url = '$url' ORDER BY nkeeps DESC LIMIT 1";
    $r = mysql_query($sql) or die(mysql_error());
    $n = 0;
    while ($row = mysql_fetch_array($r)) {
        $n = $row['nkeeps']+1;

    }
echo $n;

?>

и тогда я делаю: [на исходном сайте] я создаю кнопку внизу со счетчиком (iframe) вверху

$(".keeper").html("<div style='width:50px;float:left;text-align:center;height:50px;'>
                        <div style='width:50px;float:left;height:25px;'>
                           <iframe style='width:49px;color:#444;height:24px;border:1px solid #f6f5f7;overflow:hidden;' src='http://website.com/API/public/keep.php?url="+url+"'></iframe>                   </div>
                       <div style='width:50px;height:50px;float:left;'>
                            <a class='keep_btn' href='#' style='background-color:#006;border:1px solid #f6f5f7;color:white;'>keep</a>
                      </div>
                 </div>");

Как вы можете видеть, верхний блок показывает, сколько раз через iframe (я сам управляю URL-адресом), но я не могу получить «подобный свитку» крошечный iframe справа, и он никогда не выглядит Facebook sharer ... :( Так что я думал об альтернативе этому iFrame. Как я могу загрузить этот фрагмент контента, используя только JS?

В основном,

Это проблема дизайна. iframe прекрасно работает. но как я могу выглядеть как обычная коробка?

Ответы [ 3 ]

1 голос
/ 10 февраля 2011

Ну, есть причина, по которой Facebook и Twitter используют фреймы, а не AJAX.Ajax не позволяет получать данные из другого домена.Поэтому, если ваш исходный и целевой веб-сайты расположены в разных доменах, вам придется придерживаться iframe.И если ваше единственное возражение против iframe - это то, как он выглядит, вы должны использовать его при помощи cssИфрейм можно задать тем же способом, что и любой другой элемент, поэтому изменение его на div не сделает его более красивым.

1 голос
/ 10 февраля 2011

Вместо извлечения числа с помощью iframe извлекайте его с помощью вызова Ajax. Используйте XHR ($ .ajax () в jQuery, я думаю) или используйте return как json и загрузите его с помощью jsonp.

И вам действительно следует использовать таблицу стилей. Эти встроенные стили не ... хороши.

0 голосов
/ 10 февраля 2011

Вы можете использовать $ .get () для получения кода через ajax, затем получить номер в коде возврата и поместить в div.

Что-то вроде:

$.get(
   "http://keepyourlinks.com/API/public/keep.php?url=http://new.funcook.com/",  
   function(data) {
      $("div_selector").text($(data).find("selector_for_element_with_count").text());
  }
);

При просмотре вашего кода может быть полезно, если вы можете поместить некоторые идентификаторы в те теги HTML, с которыми вы работаете (т. Е. Тот, который имеет исходное значение, и новый, содержащий значение). Это сделает селекторы более простыми.

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