在jquery mobile中頁面跳轉的時候,實現登錄檢查


原因:實現功能的時候,存在有的頁面需要登錄,有的不需要登錄。

實現的時候,就是期望在加載頁面前,檢查一下登錄情況,這里有兩個事件

 pagebeforechange 和 pagebeforeshow

 用pagebeforeshow的話,如果需要登錄,會先到目標頁,然后再跳轉到登錄頁。

這里用pagebeforechange來實現需求。

 

下面是相關代碼。

 

(function( $, window, undefined ) {

function queryStringToObject( qstr )

{

var result = {},

nvPairs = ( ( qstr || "" ).replace( /[^\?]*\?/, "" ).split( /&/ ) ),

i, pair, n, v;


for ( i = 0; i < nvPairs.length; i++ ) {

var pstr = nvPairs[ i ];

if ( pstr ) {

pair = pstr.split( /=/ );

n = pair[ 0 ];

v = pair[ 1 ];

if ( result[ n ] === undefined ) {

result[ n ] = v;

} else {

if ( typeof result[ n ] !== "object" ) {

result[ n ] = [ result[ n ] ];

}

result[ n ].push( v );

}

}

}


return result;

$( document ).bind( "pagebeforechange", function( e, data ) {

if ( typeof data.toPage === "string" ) {


var u = $.mobile.path.parseUrl( data.toPage );

params = queryStringToObject(u.hash);

if(params["nl"] != undefined) //在這里,我用nl參數表示需要登錄如:#home?nl

{

if(在這里判斷如果未登錄)

{

data.toPage = u.hrefNoHash+"#login"; //跳到登錄頁

}

}

}

});


})( jQuery, window );


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM