如何获取Tumblr photoset iframe的URL

时间:2013-11-06 23:35:17

标签: iframe tumblr

我正在自定义我的tumblr模板,我需要访问包含我的photoset的iframe的网址。当我查看我的不倒翁页面的HTML时,我看到了:

<figure class="photoset with-caption">
  <div id="photoset_66130132457" class="html_photoset">
    <iframe id="photoset_iframe_66130132457" class="photoset" style="border:0px; background-color:transparent; overflow:hidden;" src="http://blog.kazoova.com/post/66130132457/photoset_iframe/kazoova/tumblr_mvtbtjxyAt1t05bsz/0/false" frameborder="0" height="535" scrolling="no" width="100%">  
    </iframe>
   </div>
</figure>

如何使用tumblr变量获取iframe中src的值?

我可以使用以下代码获取单个图像的网址,但这不是我要找的:

{block:Photoset}
  {block:Photos}
    {PhotoURL-500}
  {/block:Photos}
{/block:Photoset}

我希望photoset的变量与{PhotoURL-500}类似{PhotosetURL-500}。

请帮忙!

2 个答案:

答案 0 :(得分:4)

如何获取Photosets iframe src

可悲的是,没有theme operator给我们src作为字符串,我们唯一的选择是使用{Photoset-500}作为OP状态。但是,可以使用我们拥有的theme operators来处理iframe src。

iframe src的细分

http://mikedidthis-pierre.tumblr.com/post/37187983482/photoset_iframe/mikedidthis-pierre/tumblr_meih4y5SDi1rkq61e/700/false

我们可以将其分解为7个部分:

  1. http://mikedidthis-pierre.tumblr.com/post/
  2. 37187983482/
  3. photoset_iframe/
  4. mikedidthis-pierre/
  5. tumblr_meih4y5SDi1rkq61e/
  6. 700/
  7. /false
  8. 1 Tumblr博客的网址,前缀为post/。在tandum中应使用1和2 2 唯一的帖子ID。
    3 一个通用的,一致的子目录 4 乍一看看起来像Tumblr用户名。由于自定义域名,我不会说它的Tumblr URL。但是,它似乎可以改为任何东西,只要它包含一个字符 5 唯一的Tumblr生成ID。想想reblog键。这是我们真正需要的部分,并且没有theme operators来生成它 6 iframe的宽度大小。
    7 阴影模式。我相信将其转换为true可为照片集中的每张照片添加阴影。

    我们可以复制多少这个?

    所以使用可用的主题运算符如下:

    {BlogURL}/post/{PostID}/photoset_iframe/x/ * missing 5 * /700/false
    

    我们几乎可以生成完整的src!

    http://mikedidthis-pierre.tumblr.com/post/37187983482/photoset_iframe/x/ * missing 5 * /700/false
    

    发现5

    坏消息是,我们需要javascript。我不打算介绍,但我将解释如何获取缺失的信息。如果您使用theme operators作为照片集,那么只需使用图片网址`{PhotoURL-500}:

    http://25.media.tumblr.com/tumblr_meih4y5SDi1rkq61eo4_500.jpg
    
    你能看到5吗?让我们分解一下:

    1. http://25.media.tumblr.com/
    2. tumblr_meih4y5SDi1rkq61e
    3. o4
    4. _500
    5. .jpg
    6. 1 托管图像的Tumblr服务器的地址 2 缺少的数据5.
      3 这是照片集中的图像编号,所以第4个。但是,我认为这与上传顺序有关,而不是显示顺序 4 图像尺寸。
      5 文件扩展名。

      那么现在呢?

      因此,要获得完整的iframe src,您需要使用javscript查找第5部分的数据,然后将其与我们已有的theme operators数据相结合。

      OP尚未说明他们为何需要iframe网址。我认为推迟加载,可能与响应有关。

      希望它有所帮助!

      概念证明:

      基于图像的照片组:Example

      基于iframe的Photoset使用上述信息:Example

答案 1 :(得分:0)

我有一个类似的问题 - 我想链接photoset“标题”(标题我们设置的方式),以便所有帖子标题都是链接,工作/看起来一样。

我发现@mikedidthis的回答很有帮助。但我玩了一下,我认为从头开始重建iframe src是过度的。

我开始用更多的类更新我的标记并使用以下Javascript -

$('.top.media.photoset.no-link').each(function(){
    $set = $(this);
    var url = $set.find('iframe').attr('src');
    // console.log(url);
    $set.find('.cont').find('a').attr('href',url).end().end().removeClass('no-link');                           
}); 

由于我有延迟加载,我想要一种方法只在每个链接设置href一次,我在类no-link中添加用于选择器特异性(我本来也可以搜索链接其中href!=“#”也是如此)。