2012-01-20 4 views
1

私の最初の努力は、IOSを収容するためのサイトを構築することであり、うまくいきません。IOSデバイスでのみ「window.open」コマンドをロードしていますか?

ページにオブジェクトとしてflickrスライドショーを埋め込む。通常のブラウザではうまく動作しますが、iPad上では(明らかにフラッシュなので)うまく動作しません。

はセル自体をリンクにして、flickrページ自体で新しいブラウザウィンドウを開きます。 iPad上で完璧です。しかし、通常のブラウザでは、flickrオブジェクトをクリックすると、スライドショーとflickrページによる新しいウィンドウの両方のアクションが生成されます。

onclick="window.open('http://www.flickr.com//photos/[email protected]/sets/72157628873638463/show/');" 

こちらのページは、質問にあります:私は必要なもの

のみ IOSは、この命令が表示されますようにスクリプトにある

http://creyoncafe.com/pages/galeria2.html 

誰も助けることができますか?

(希望は私が長すぎるので行けば...。申し訳ありませんが明らかになった勅令は、できるだけ具体的に従っていました。)

感謝。

答えて

0

は、その後、あなたのonclickのにちょうどこれはノーである

onclick="return showFlickr()" 

を言うこの

<script type="text/javascript"> 

    function showFlickr() { 

     var userAgent = navigator.userAgent; 
     if (userAgent.indexOf('iPhone') != -1 || 
      userAgent.indexOf('iPod') != -1 || 
      userAgent.indexOf('iPad') != -1) { 
      window.open('http://www.flickr.com//photos/[email protected]/sets/72157628873638463/show/'); 
      return false; 
     } 

     return true; 
    } 

</script> 

のようなページにJavaScript関数を追加最もエレガントなソリューションを意味し、それが動作するはずです。

より良い方法は、ブラウザでFlashが有効になっているかどうかを検出し、それを使って表示するギャラリーの種類を決定するスクリプトを見つけることです。 Flashを搭載していないデスクトップマシンやFlashブロッカーがインストールされている、または古いAndroidデバイス、Windows Phone、Blackberriesなどのスマートフォンの他のブランドなど、Flashを表示できない非iOSデバイスはたくさんあります。すべてのデバイスを処理することはありませんが、Flashを検出することは誰にとっても有効です。

0

はワンライナーのために

onclick="if (!/(iPhone|iPad).*Safari/.test(navigator.userAgent)) return true; window.open('http://www.flickr.com//photos/[email protected]/sets/72157628873638463/show/'); return false;" 
+0

+1にごonclickハンドラを設定します。私はJavaScriptが大好き! –

+0

すごい華麗です。そんなにありがとう、ありがとう。魅力のように動作します。 –

関連する問題