3

ポップアップを表示しようとしていますが、ポップアップが自動的に消えます。history=false がないと、ポップアップは表示されたままになりますが、ポップアップを閉じると、ブラウザーの戻るアクションがトリガーされます

<div data-role="page" id="indexpage">
    <div data-role="popup" data-history="false" id="appPopup">test popup</div>
    <script>
    $("#indexpage").on("pageshow", function () {
        $("#appPopup").popup("open");
    });
    </script>
</div>

ここで何が起こるかを確認してください: http://jsfiddle.net/francisdb/ThtfZ/

これを修正する方法について何か考えはありますか?

4

2 に答える 2

8

作業例: http://jsfiddle.net/Gajotres/2EL5R/

$("#indexpage").on("pageshow", function () {
    var popup = setInterval(function(){
        $("#appPopup").popup("open");
        clearInterval(popup);
    },1);
});

Webkit ブラウザーはポップアップが開くのを嫌うため、setinterval を使用してトリガーする必要があります。他のいくつかの jQuery Mobile 機能についても同じことが言えます。

于 2013-04-05T09:28:54.280 に答える
0

これを解決しようとしている同じ問題が数時間ありました。Gajotres が提案した解決策は、最初はうまくいきましたが、最終的にすべてのデバイスでうまくいくわけではありませんでした。いくつかの Android、デスクトップ、および iOS ブラウザーでテストしました。

私の場合の問題は、ポップアップによって隠されている AdSense バナーでした。

Google AdSense は、バナーが表示されなくなったことを認識し、AdSense バナーの読み込み時にポップアップを閉じます。バナーを削除すると、完全に機能するようになりました。ページ上の他の AdSense バナー (ポップアップによって非表示にされないもの) は、ポップアップ機能に影響しません。

于 2015-05-29T19:42:02.530 に答える