我正在自定义我的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}。
请帮忙!
答案 0 :(得分:4)
可悲的是,没有theme operator
给我们src
作为字符串,我们唯一的选择是使用{Photoset-500}
作为OP状态。但是,可以使用我们拥有的theme operators
来处理iframe src。
http://mikedidthis-pierre.tumblr.com/post/37187983482/photoset_iframe/mikedidthis-pierre/tumblr_meih4y5SDi1rkq61e/700/false
我们可以将其分解为7个部分:
http://mikedidthis-pierre.tumblr.com/post/
37187983482/
photoset_iframe/
mikedidthis-pierre/
tumblr_meih4y5SDi1rkq61e/
700/
/false
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
坏消息是,我们需要javascript。我不打算介绍,但我将解释如何获取缺失的信息。如果您使用theme operators
作为照片集,那么只需使用图片网址`{PhotoURL-500}:
http://25.media.tumblr.com/tumblr_meih4y5SDi1rkq61eo4_500.jpg
你能看到5吗?让我们分解一下:
http://25.media.tumblr.com/
tumblr_meih4y5SDi1rkq61e
o4
_500
.jpg
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!=“#”也是如此)。