在你的脑袋补充一点:
<script type="text/javascript">
function resizePhotosets(desiredSize)
{
var setFrames = document.getElementsByClassName("photoset");
if (setFrames != null)
{
for(var i = 0; i < setFrames.length; i++)
{
var foundWindow = false;
var frameWindow = null;
while(!foundWindow)
{
frameWindow = setFrames[i].contentWindow;
if (frameWindow != null)
foundWindow = true;
}
var foundDoc = false;
var frameDoc = null;
while(!foundDoc)
{
frameDoc = frameWindow.document;
if (frameDoc != null)
foundDoc = true;
}
if (foundDoc)
{
var photoRows = frameDoc.body.getElementsByClassName("photoset_row");
for (var j = 0; j < photoRows.length; j++)
{
photoRows[j].removeAttribute("style");
photoRows[j].style.display = "inline";
var photos = photoRows[j].getElementsByTagName("img");
for(var k = 0; k < photos.length; k++)
{
photos[k].style.width = desiredSize.substring(0, desiredSize.lastIndexOf('sq')) + 'px';
var source = photos[k].src;
var pos1 = source.lastIndexOf('_');
var pos2 = source.lastIndexOf('.');
photos[k].src = source.substring(0, pos1 + 1) + desiredSize + source.substring(pos2);
}
}
}
}
}
return false;
}
</script>
,然后从body
标签调用它是这样的:<body onload="resizePhotosets('75sq')">
的脚本执行下列操作...
- 当文档已经加载时,检查是否有photoset f拒绝在页面上。如果页面上有photoset框架,请继续。否则,什么都不要做。
- 对于每个photoset框架,请等待框架窗口和框架文档加载。
- 只要框架文档已经加载,抓住所有的photoset行。
- 对于每个photoset行,清除样式并将显示设置为内联。
- 接下来,抓住所有的photoset照片。
- 对于每张照片,将图像源设置为所需的尺寸参数。
很明显,你可以做任何你想要尽可能的造型去在步骤4和6,但是这只是为了使所有的photoset的照片在960x75像素,并把它们络绎不绝的简单方法。如果你有任何问题随时问。我已经在我的沙盒Tumblr中测试过它,它确实有效。
ETA:我不知道{PhotoURL-250}
工作在photoset块内,但它确实。在这种情况下,这里是一些简单的代码:
{block:Photos}
<img src="{PhotoURL-250}" class="photoset-image" />
{/block:Photos}
<script type="text/javascript">
var photos = document.getElementsByClassName("photoset-image");
for(var i = 0; i < photos.length; i++)
{
photos[i].style.width = '75px';
var source = photos[i].src;
var pos1 = source.lastIndexOf('_');
var pos2 = source.lastIndexOf('.');
photos[i].src = source.substring(0, pos1 + 1) + '75sq' + source.substring(pos2);
}
</script>
所有这一切都做的是提供的URL,并与960x75像素正方形一个替换它。
那么,首先,这是一个photoset不正确的语法。 “{block:Photoset} {Photoset-500} {/ block:Photoset}”是你想要的,你明显可以在信息,笔记等photoset的周围和下面添加更多的代码,但这是你的出发点。 iframe将与您的photoset照片一起呈现。你必须使用Javascript来改变iframe的内容。我可以给你一个例子,但它必须等到下课后。效应器主题这样做是为了创建它的高分辨率幻灯片的photosets。 – Ally 2012-03-01 15:26:59
嗨,伙计,恐怕不是,在Photoset里面你可以有另一个叫做'Photos'的模块,如果你不想使用默认的Photoset窗口部件,它将会单独返回每一个图像。这是在提到的链接文档中,我已经在使用它,唯一的问题是75px的方形照片。 – zanona 2012-03-01 16:59:58
然后'{PhotoURL-250}'或'{PhotoURL-500}'的作品?我的帖子印象是这些都不起作用。在这种情况下,您仍然可以使用我提供的代码进行一些更改。无论如何,您将不得不使用Javascript来处理URL以获取方形URL,因为它不在文档中提供。 – Ally 2012-03-01 17:23:05