2009-06-03 107 views
5

我正在嘗試使用jQuery PrettyPhoto,並且由於某種原因它沒有通過ID變量..如果有人遇到過這個問題並知道解決方案,那太棒了!下面的代碼:jQuery PrettyPhoto將ID傳遞給iframe

<a href="/store-item-details?id=5&iframe=true&width=800&height=530" 
    rel="prettyPhoto[iframes]" 
    title=""> 
    <img src="/images/store/thumbs/'.$item->image.'" 
     alt="'.$item->name.'" 
     width="100" 
     border="0" /> 
</a> 

這裏的鏈接(用漂亮的圖片,點擊縮略圖之一)

http://www.photographicpassions.com/shop?view=products&category=1

,這裏是從標籤直接鏈接:

http://www.photographicpassions.com/store-item-details?id=1&iframe=true&width=800&height=530

請幫忙! :)

回答

6

你的問題在於prettyPhoto本身。該插件假設(在iframe的情況下)該URL中沒有其他重要參數,並在解析出高度和寬度後刪除所有參數。

這是jquery.prettyPhoto.js的非註音版本的一個片段。注意第三行,它刪除了movie_url中的問號之後的所有內容。

}else if(pp_type == 'iframe'){ 
     movie_url = $caller.attr('href'); 
     movie_url = movie_url.substr(0,movie_url.indexOf('?')); 

     pp_typeMarkup = '<iframe src ="'+movie_url+'" width="'+(correctSizes['width']-10)+'" height="'+(correctSizes['height']-10)+'" frameborder="no"></iframe>'; 
    } 

我不確定你有多強悍,但如果你評論出第三條線,它會爲你工作。 (你可能會想重新縮小後看到:http://fmarcia.info/jsmin/test.html

}else if(pp_type == 'iframe'){ 
     movie_url = $caller.attr('href'); 
     // movie_url = movie_url.substr(0,movie_url.indexOf('?')); // commented out to allow other attributes to be passed along. 

     pp_typeMarkup = '<iframe src ="'+movie_url+'" width="'+(correctSizes['width']-10)+'" height="'+(correctSizes['height']-10)+'" frameborder="no"></iframe>'; 
    }