0

現在、デスクトップ ブラウザーとタブレットの両方で動作する Web アプリケーションを使用しています。jqueryモバイルスクロールビューを除いて、すべてが機能し、正しいイベントタイプをリッスンします。

下部のナビゲーション バーにこのプラグインを使用します。Internet Explorer を除くすべてのブラウザで動作します。つまり、ファイルを機能させるためにファイルの何を変更すればよいか知っている人はいますか?

プラグイン iScroll も見つけましたが、これは同じ機能を提供しません。可能であれば、jquery mobile scrollview を使用したいと思います。

4

3 に答える 3

1

jquery モバイル スクロールビューを IE で動作させるには、jquery.mobile.scrollview.js の 22 行目を次のように変更します。 > scrollMethod: "scroll", // "translate", "position", "scroll" これはデフォルトで設定されていますこれは IE ではサポートされていません。

于 2012-08-21T13:29:19.370 に答える
1

jquery.mobile.scrollview.js を編集する代わりに、ブラウザーが IE かどうかを最初に確認して、オブジェクトの作成時にオプションを設定できます。

if($.browser.msie){
   opts.scrollMethod = "scroll";
}

これをページ作成機能で使用します

var $page = $( this );

// For the demos that use this script, we want the content area of each
// page to be scrollable in the 'y' direction.

//$page.find( ".ui-content" ).attr( "data-" + $.mobile.ns + "scroll", "y" );

// This code that looks for [data-scroll] will eventually be folded
// into the jqm page processing code when scrollview support is "official"
// instead of "experimental".

$page.find( ":jqmData(scroll):not(.ui-scrollview-clip)" ).each(function () {
    var $this = $( this );
    // XXX: Remove this check for ui-scrolllistview once we've
    //      integrated list divider support into the main scrollview class.
    if ( $this.hasClass( "ui-scrolllistview" ) ) {
        $this.scrolllistview();
        scrollViewObj = $this;
    } else {
        var st = $this.jqmData( "scroll" ) + "",
            paging = st && st.search(/^[xy]p$/) != -1,
            dir = st && st.search(/^[xy]/) != -1 ? st.charAt(0) : null,

            opts = {
                direction: dir || undefined,
                paging: paging || undefined,
                scrollMethod: $this.jqmData("scroll-method") || undefined
            };


        if($.browser.msie){
            opts.scrollMethod = "scroll";
        }
        $this.scrollview( opts );
        scrollViewObj = $this;
    }

});
于 2012-10-02T17:38:51.137 に答える
0

IE ではネイティブに動作しない可能性があります。jQuery モバイルは HTML5 ベースであり、IE は HTML5 にあまり準拠していません。

最善の方法は、 Chrome フレームを調べて、IE で HTML5 がサポートされていないことを Google に任せることです。実装は非常に簡単です。サイトにはテンプレートがあり、サイトの残りの JavaScript も高速化されるはずです。

それが役立つことを願っています!

于 2012-04-26T10:21:11.030 に答える