Показать два независимых блога Tumblr на одной странице? - PullRequest
0 голосов
/ 07 мая 2010

Я хотел бы отобразить два независимых блога Tumblr рядом друг с другом на одной странице. Я бы хотел, чтобы они выглядели идентично своей теме Tumblr. Какой лучший способ сделать это?

Я могу использовать JavaScript для импорта контента следующим образом:

<div id="tumblr1">
  <script type="text/javascript" src="http://tumblr1.tumblr.com/js"></script>
<div>

<div id="tumblr2">
  <script type="text/javascript" src="http://tumblr2.tumblr.com/js"></script>
<div>

Но контент явно не будет стилизован. Есть ли более простой способ сделать это? Если нет, есть ли простой способ стилизовать контент, который я получаю от js?

UPDATE:
Я работаю над синтаксическим анализом JSON, но JavaScript не нравится штрихи в значениях свойств. Для упрощенного примера:

<script type="text/javascript">
    var tumblelog = {

                    "title":"Tumblr Title",
                    "description":"Tumblr Description",
                    "name":"tumblr name",
                    "timezone":"US\/Central",
                    "cname":false,
                    "feeds":0,
                    "posts-start":0,
                    "posts-total":"111",
                    "posts-type":false

                    };

</script>

<script type="text/javascript">

     document.write(tumblelog.posts-total);

</script>

сообщает мне «Uncaught ReferenceError: total не определено». Однако

<script type="text/javascript">

     document.write(tumblelog.feeds);

</script>

возвращает 0 просто отлично. API Tumblr предлагает что-то вроде

     document.write(tumblelog['@posts-total']);

при работе с но возвращает "undefined".

Есть предложения?

Ответы [ 3 ]

1 голос
/ 13 июля 2010

Я бы хотел, чтобы они выглядели идентично своей теме Tumblr.

Использовать iFrames?

0 голосов
/ 09 мая 2010

tumblelog['@posts-total'] ищет ключ @posts-total объекта tumblelog, который не существует.

Сделайте это:

document.write(tumblelog['posts-total']);
0 голосов
/ 07 мая 2010

Я бы использовал API и установил обратный вызов json

<script type="text/javascript"
src="http://tumblr1.tumblr.com/api/read/json?callback=my_callback"></script>

<script type="text/javascript"
src="http://tumblr2.tumblr.com/api/read/json?callback=my_callback"></script>

Тогда просто был бы готов обратный вызов:

function my_callback(tumblr_data)
{
    //append the data to the div here
}

Вы можете найти Tumblr API для чтения документов здесь .

РЕДАКТИРОВАТЬ : Или вы можете сделать это без обратного вызова:

<div id="tumblr1">
    <script type="text/javascript" src="http://tumblr1.tumblr.com/api/read/json"></script>
    <script type="text/javscript">
        parse_tumblr_data(tumblr_api_read);
    </script>
<div>

<div id="tumblr2">
    <script type="text/javascript" src="http://tumblr2.tumblr.com/api/read/json"></script>
    <script type="text/javscript">
        parse_tumblr_data(tumblr_api_read);
    </script>
<div>

Я использовал приведенный выше пример до на этом сайте чтобы изменить цвет аудиоплеера Tumblr ... но вы можете делать все, что захотите.

...