2012-10-31 85 views
1

我試圖破解我的方式進入tumblr photoset,我想我找到了最大700顯示大小的修復。Tumblr Photoset

讓我們說,這是由{Photoset-700}產生的正常的iframe:

<iframe class="photoset" scrolling="no" frameborder="0" height="1048" width="700" style="border:0px; background-color:transparent; overflow:hidden;" src="http://www.georgefratila.ro/post/20314734048/photoset_iframe/esssk/tumblr_m1tp5634Si1qzc7t7/700/false"></iframe> 

有沒有辦法來改變iframe的寬度,改變src網址的最後一部分,放大時保持寬高比?

寬度= 「700」 改變這個值到860 SRC = 「http://www.georgefratila.ro/post/20314734048/photoset_iframe/esssk/tumblr_m1tp5634Si1qzc7t7/700/false」 改變的最後部分src/700/false轉換爲/ 860/false

我覺得我看到它在網站上用jquery製作,但我不記得名字,我會研究我的歷史,也許我會找到它。

感謝您的幫助。

Edit.1 我想我排序的幾乎一切:

 $('iframe.photoset').each(function() { 
     $(this).attr("width", function(index, old) { 
            return old.replace("700", "860"); 
      }); 
      $(this).attr("src", function(index, old) { 
            return old.replace("/700/false", "/860/false"); 
      }); 
}); 

,我現在唯一的問題是高度,它不規模,以適應的iframe。

回答

1

這似乎來了很多。我開發了一個jQuery插件,使Tumblr Photosets能夠完全響應,並且可以設置任何寬度來設置容器。 https://github.com/PixelUnion/Extended-Tumblr-Photoset

我更喜歡用這種方式來處理iFrame的尺寸,因爲你可以獲得更多的信息(包括EXIF數據),並且可以完全控制內容。

0

我已經找到了解決我的問題,那就是:

//This will change the source address and display the correct size. 

     $(".photoset").each(function() { 
    var newSrc = $(this).attr("src").replace('700','860'); 
    $(this).attr("src", newSrc);  
}); 
//This will get the new size of the iframe and resize the iframe holder accordingly. 

$(function(){ 
var iFrames = $('.photoset'); 
function iResize() { 
    for (var i = 0, j = iFrames.length; i < j; i++) { 
     iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';} 
    } 

    if ($.browser.safari || $.browser.opera) { 
     iFrames.load(function(){ 
      setTimeout(iResize, 0); 
     }); 

     for (var i = 0, j = iFrames.length; i < j; i++) { 
      var iSource = iFrames[i].src; 
      iFrames[i].src = ''; 
      iFrames[i].src = iSource; 
     } 
    } else { 
     iFrames.load(function() { 
      this.style.height = this.contentWindow.document.body.offsetHeight + 'px'; 
     }); 
    } 
}); 

如果您有關於如何最大限度地減少或改善腳本請在下面張貼的任何想法。享受