Мне просто было интересно, имеет ли запрос jQuery.get () какое-либо отличие от обычного веб-запроса. Причина, по которой я спрашиваю об этом: я делаю бесконечный скроллер для своего тамблера. он работает хорошо, за исключением того, что при наличии фотосета возвращенный HTML-код не будет содержать JS / встраивания для фотосета, а вместо этого возвращает только необработанные версии <p> и <img>. Мне просто интересно, может ли Tumblr каким-то образом определить, что запрашивает данные, и отправить обратно версию RAW HTML по сравнению с версией JS / Embeded. за исключением того, что youtube встраивает работу ... хм ... как показано ниже:

Загружено через jQuery.get()

<div class="media">
  <div id="photoset_737156708" class="html_photoset">   
    <p><img src="http://29.media.tumblr.com/tumblr_l4lvewzfw31qbp1vqo1_500.jpg" alt="" class="photoset_photo"></p>
    <p class="photoset_caption"></p>
    <p><img src="http://25.media.tumblr.com/tumblr_l4lvewzfw31qbp1vqo2_500.jpg" alt="" class="photoset_photo"></p>
    <p class="photoset_caption"></p>
    <p><img src="http://29.media.tumblr.com/tumblr_l4lvewzfw31qbp1vqo3_500.jpg" alt="" class="photoset_photo"></p>
    <p class="photoset_caption"></p> ...

Загружается нормально

<div class="media">
  <script type="text/javascript" language="javascript" src="http://assets.tumblr.com/javascript/tumblelog.js?16"></script>
  <div id="photoset_768052613" class="html_photoset">
    <embed type="application/x-shockwave-flash" src="/swf/photoset.swf" bgcolor="#000000" quality="high" class="photoset" flashvars="showLogo=false&amp;showVersionInfo=false&amp;dataFile=/post/768052613/photoset_xml/tumblr_l50pyoByJ71qbp1vq/500" height="360" width="500"></div>
    <script type="text/javascript">    replaceIfFlash(9, "photoset_768052613", '\x3cembed type=\x22application/x-shockwave-flash\x22 src=\x22/swf/photoset.swf\x22 bgcolor=\x22#000000\x22 quality=\x22high\x22 class=\x22photoset\x22 flashvars=\x22showLogo=false\x26amp;showVersionInfo=false\x26amp;dataFile=/post/768052613/photoset_xml/tumblr_l50pyoByJ71qbp1vq/500\x22 height=\x22360\x22 width=\x22500\x22\x3e\x3c/embed\x3e')</script>
  </div> ... 
1
Jiew Meng 11 Июл 2010 в 15:46

2 ответа

Лучший ответ

Это добавит к запросу дополнительный HTTP-заголовок X-Requested-With: XMLHttpRequest.

2
Darin Dimitrov 11 Июл 2010 в 15:51

Я не уверен, можно ли встроить JS через $.get().

Однако вы можете загрузить его в обычном режиме и заменить на swfobject или что-то подобное.

Если вы хотите загрузить скрипты, вы можете использовать $.getScript().

0
Ionuț Staicu 11 Июл 2010 в 15:49
Хм ... если вы посмотрите на фрагменты кода, похоже, что структура запроса совершенно другая. 1 вообще без js / embeds, а другой embed / js без <p> s и <img> s
 – 
Jiew Meng
11 Июл 2010 в 16:06