2013年1月31日 星期四

[jQuery mobile] HTML5 cache 'Error loading page'

這是在開發web app時,使用jQuery mobile 以及HTML5 cache 時在手機操作上發生的問題,這種情況時好時壞

當開啟另外一個頁面的時候,會發生頁面滯留不前,無法讀取到下一頁。

解決方式

1.刪除手機APP 快取後再登入APP (不過還是有機會有網頁滯留的情況發生)

2.使用 $.ajaxPrefilter      參考網站

只需要再javascript上加入底下:


      $.ajaxPrefilter( function(options, originalOptions, jqXHR) {
            if ( applicationCache && applicationCache.status != applicationCache.UNCACHED && applicationCache.status != applicationCache.OBSOLETE ) {
                  // the important bit
                  options.isLocal = true;
            }
      });
     

2013年1月3日 星期四

[jQuery mobile]取得history堆疊數

[history堆疊]
  在jQuery mobile 已經幫我們寫好
 
  如下:取得目前瀏覽記錄堆疊數

  $.mobile.urlHistory.activeIndex;
 
  那竟然有了堆疊的數量,那就有可取得瀏覽記錄的網址,
  如下:取得瀏覽記錄堆疊數位置的URL 
   * i=堆疊數位置

$.mobile.urlHistory.stack[i].url;

[jQuery mobile] data-role 取消input,select樣式

[data-role]
  此標籤在jQuery mobile是用於HTML DOM的架構命名(這樣解釋不知道通不通),舉例來說
  <div data-role="header"></div> 代表此標籤為 header位置,jQuery mobile用來
  辨別標籤,標籤的不同所給予的樣式、效果各有不同

  那要如何取消jQuery mobile 對於input ,select的樣式,如下

  <input type="text" name="text1" data-role="none">
    
在標籤上加
data-role="none"

[jQuery mobile]取消header,footer 點擊隱藏

[data-tap-toggle]
   header footer 上下兩個浮動bar上,預設為true,點擊頁面會消失再次點擊會顯示
  要取消此功能
  方法一:在HTML標籤上加入
     <div data-role="header" data-position="fixed" data-tap-toggle="false">
      ---content
     </div>
  方法二:在jQeury 加入
      $("div[data-role=header],div[data-role=footer]").fixedtoolbar({
            tapToggle:false
      });