1

現在表示されている写真を JavaScript を使用して新しいウィンドウで開こうとしていますが、iPad でも動作する必要があります。私が試したのは、ツールバーにボタンを追加することです(例のように)。そのボタンの css も photoswipe.css に追加しました。JavaScript関数を追加しました:

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>';
}

これは、chrome や safari などの webkit ブラウザーで完全に機能します (写真は新しいウィンドウ/タブで開きます)。しかし、iPadでこれを試してみると、うまくいきません。ボタンを押しても何も起こらない。

誰でもこの問題を解決するのを手伝ってもらえますか? たぶん私はそれをすべて間違っているので、別のアプローチがより良いかどうか教えてください。

ありがとう!

4

1 に答える 1

0

iPad がこのスクリプトを「ポップアップ」としてブロックしている可能性があります。このSOの質問を参照してください。問題がポップアップ ブロッカーであることを確認するには、[設定] > [Safari] > [ポップアップをブロック] に移動してオフにし、現在動作するかどうかを確認します。

それがポップアップ ブロッカーであり、他の問題ではないと確信している場合は、画像を開く方法を次のように変更してみてください。

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>';
}

画像の URL を文字列として返すように関数を変更し、それを戻り文字列に挿入しましたgetToolbar

于 2012-09-28T20:33:11.573 に答える