突然發現蛙齋的JavaScript分類中的文章只有三篇,但對於小蛙的工作來說JavaScript也算是重要的一環,還是記錄一下以後查找方便。這篇主要是記錄網路上查到的一些關於「重新整理頁面」的資料。

在《Javascript刷新頁面的幾種方法 @ 玲瓏天空》一開頭就直接寫明了重新整理頁面的方法,整篇文章也很細心的列出一些常用的情況。

Javascript刷新頁面的幾種方法:
1   history.go(0)
2   location.reload()
3   location=location
4   location.assign(location)
5   document.execCommand(‘Refresh’)
6   window.navigate(location)
7   location.replace(location)
8   document.URL=location.href

上面的八種方法小蛙並沒有一個一個測試,只找了符合自己使用情況的方法,例如:小蛙有一個編輯頁面上有多選欄位、單選欄位、文字欄位 … 等,這些資料原本就已經有值了(從資料庫撈出來),而有一個重填按鈕,點了之後將頁面設定為尚未編輯前的資料,也就是如果原本多選欄位選了五個,編輯時把全部取消勾選,後來發現想要恢復原始設定點了重填按鈕,希望可以回復原始資料(跟新增時的重填不同,新增時的重填只要清空即可),好吧!這裡可能寫的有點複雜,總而言之最偷懶的方法就是讓頁面變成第一次載入時的狀況,於是小蛙直接用JavaScript的重新整理。

常看到的重新整理大概是location.reload();,但做了之後發現,原本被修改過的欄位並不會回復到原始狀況,就是說上面取消的五個多選欄位,並不會恢復成勾選狀態,之後試了location=location可以達到這個要求。有點像是F5(重新整理)跟Ctrl+F5(強制重新整理)的差別,location.reload();跟小蛙直接點F5一樣結果,而location=location的結果跟Ctrl+F5相同。

後來小蛙在《请问如何区别window.location.Reload()和window.location.href=window.location.href;》這個討論串中找到了為什麼location.reload();不能的答案

flyerwing :
定义和用法
reload() 方法用于重新加载当前文档。
语法
location.reload(force)说明
如果该 方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

好象是说:
如果window.loacation.reload(true)==window.location.href=”xxx.xx”;

馬上試了一下,果然把location.reload();改成location.reload(true);就可以了!

相關文章

Android 2.3 @JavascriptInterface Issue

JavascriptInterface 這個問題相信 Google 一下就可以找到很多文章,雖然如此小蛙還是試了好久才成功,這篇文章記錄一下當時小蛙不成功的盲點在哪裡。上一篇文章「
2014-03-28 20:25:25
hans

18

Android 與 WebView 中的 Javascript 相互溝通

最近的一個 app 需要讓 Android 可以呼叫 WebView 中的 Javascript,並且按下 WebView 中的按鈕時,也可以呼叫 Android 內部的方法,這篇文章記錄一下大概的做法,免得下次遇到又忘記 ...
2014-03-28 20:25:19
hans

18

Javascript用RegExp達成trim()

Java 中有個功能叫做 trim(),當字串中前後可能會有空白字元的時候,可以透過 trim() 來去除,小蛙使用 JavaScr
2011-03-14 15:33:47
hans

18

Javascript用RegExp達成replaceAll()

Java 有個很方便的功能,透過 replaceAll() 可以把字串中所有符合的子字串替換成別的字串,這篇文章記錄一下在網路上蒐尋到在 JavaScript 實作的方法。
2011-03-14 14:58:00
hans

18

SSL For Free – 免費又有綠色鎖頭的 SSL Certificates

之前聽說 Google 會優先搜尋有 https 的網頁 (參考:
2016-07-07 23:00:54
hans

8

Android Vuforia with jPCT-AE (5) – 多重模型載入,以 obj 為例

要進到這系列最後一篇文章了,這篇文章拖了很久,一直沒有時間整理,結果到最後 ... 程式碼留下來了,記憶卻有些模糊了,這邊小蛙配著程式碼盡可能的把還記得的東西寫下來。
2016-07-06 11:24:19
hans

8

Android Vuforia with jPCT-AE (4) – 載入 3DS 測試

延續 jPCT-AE Loader 載入模型的部份,這篇要記錄載入 3ds 檔案格式的方法,基本上跟前面幾個 obj, md2 的方法差不多,只有一些小小的變化而已。
2016-07-06 10:24:33
hans

8

Android Vuforia with jPCT-AE (3) – 載入 md2 測試

前兩篇介紹如何直接透過 jPCT-AE 直接繪圖以及載入 .obj 檔案,這邊繼續介紹 jPCT-AE 載入 md2 的方法,載入動作大致上類似,唯一不同的只有 texture 設定部份。
2016-07-06 09:24:43
hans

8




 回覆

你可以使用以下語法 HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

(required)

(required)

   
© 2012 蛙齋 Suffusion theme by Sayontan Sinha