2012-07-26 51 views
1

我試圖用JavaScript在新窗口中打開當前可見照片,但它也必須在iPad上工作。 我所嘗試的是將一個按鈕添加到工具欄中(如示例中所示)。我也在photoswipe.css中添加了該按鈕的css。我添加了一個javascript函數:PhotoSwipe在新窗口中打開照片

function getImgUrl() 
{ 
    var divHead = getElementsByClassName(document, 'ps-carousel-content'); 
    var imgElement = divHead[0].getElementsByTagName("img"); 
    var imgUrl = imgElement[1].getAttribute('src'); 
    window.open(imgUrl.toString()) 
} 

而且我沒有使用的代碼從這個例子以自定義工具欄,但補充說創建按鈕片:

getToolbar: function(){ 
    return '<div class="ps-toolbar-close"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-play"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-previous" style="padding-top: 12px;"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-next"><div class="ps-toolbar-content"></div></div><div onclick="javascript: getImgUrl();" class="ps-toolbar-download"><div class="ps-toolbar-content"></div></div>'; 
} 

這工作完全(中照片在新窗口/標籤頁中打開)在webkit瀏覽器(如Chrome和Safari)中顯示。但是當我在iPad上試用這個功能時,它不起作用。當我按下按鈕時簡單沒有任何反應。

有人能幫我解決這個問題嗎?也許我做的一切都是錯誤的,所以告訴我,如果不同的方法會更好。

謝謝!

+0

你是否試過在一個錨標記中打包並將目標設置爲_blank? – Keith 2012-07-26 21:40:40

回答

0

iPad可能會將此腳本作爲「彈出式窗口」進行阻止。請參閱this SO問題。要確定問題是彈出式窗口攔截器,請轉至設置> Safari>「阻止彈出窗口」關閉它,看看它現在是否可用。

如果你確定它的彈出窗口攔截器,而不是一些其他的問題,請嘗試更改您正在打開的圖像以這樣的方式:我改變了你的函數返回圖像的URL作爲

function getImgUrl() 
{ 
    var divHead = getElementsByClassName(document, 'ps-carousel-content'); 
    var imgElement = divHead[0].getElementsByTagName("img"); 
    var imgUrl = imgElement[1].getAttribute('src'); 
    return imgUrl.toString(); 
} 

getToolbar: function(){ 
    return '<div class="ps-toolbar-close"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-play"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-previous" style="padding-top: 12px;"><div class="ps-toolbar-content"></div></div><div class="ps-toolbar-next"><div class="ps-toolbar-content"></div></div><a href="' + getImgUrl() + '" target="_blank" class="ps-toolbar-download"><div class="ps-toolbar-content"></div></a>'; 
} 

一個字符串,然後將其插入到您的getToolbar返回字符串中。