windows reload()


reload() 方法用於重新加載當前文檔。
如果該方法沒有規定參數,或者參數是 false,它就會用 HTTP 頭 If-Modified-Since 來檢測服務器上的文檔是否已改變。如果文檔已改變,reload() 會再次下載該文檔。如果文檔未改變,則該方法將從緩存中裝載文檔。這與用戶單擊瀏覽器的刷新按鈕的效果是完全一樣的。

我們都知道客戶端瀏覽器是有緩存的,里面存放之前訪問過的一些網頁文件。
其實緩存里存儲的不只是網頁文件,還有服務器發過來的該文件的最后服務器修改時間。
If-Modified-Since是標准的HTTP請求頭標簽,在發送HTTP請求時,把瀏覽器端緩存頁面的最后修改時 間一起發到服務器去,服務器會把這個時間與服務器上實際文件的最后修改時間進行比較。
如果時間一致,那么返回HTTP狀態碼304(不返回文件內容),客戶端接到之后,就直接把本地緩存文 件顯示到瀏覽器中。
如果時間不一致,就返回HTTP狀態碼200和新的文件內容,客戶端接到之后,會丟棄舊文件,把新文件 緩存起來,並顯示到瀏覽器中。

window.location.Reload()應該是刷新.【相當於 按頁面刷新按鈕】

(如果有數據提交的話,會提示是否提交的(是和否選項)) 

window.location.href=window.location.href; 
是定向url提交數據


當使用刷新時

按刷新按鈕的時候(執行:onclick="location.reload();"),總是出現討厭的提示下面的窗口:

“不重新發送信息,則無法刷新網頁。
請單擊“重試”再次發送信息,或單擊“取消”返回正查看的頁。”

可以用location.href=location.href;替代

 

其實在網上都能找到,我只是總結一下,方便自己查找使用

示例
URL:http://b.a.com:88/index.php?name=kang&when=2011#first

 

屬性     含義 
protocol 協議  "http:"
hostname 服務器的名字 "b.a.com"
port 端口 "88"
pathname URL中主機名后的部分 "/index.php"
search "?"后的部分,又稱為查詢字符串 "?name=kang&when=2011"
hash 返回"#"之后的內容 "#first"
host 等於hostname + port "b.a.com:88"
href 當前頁面的完整URL  "http://www.a.com:88/index.php?name=kang&when=2011#first"


window.location和document.location互相等價的,可以交換使用

location的8個屬性都是可讀寫的,但是只有href與hash的寫才有意義。

例如改變location.href會重新定位到一個URL,而修改location.hash會跳到當前頁面中的anchor(<a id="name">或者<div id="id">等)名字的標記(如果有),而且頁面不會被重新加載

注意
URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first

search: "?name=kang&how=" 第一個"?"之后
hash: "#when=2011#first" 第一個"#"之后的內容
方法
location.assign( url )
location.assign('http://www.baidu.com'); 等同於 window.location = 'http://www.baidu.com'
這種方式會講新地址放到瀏覽器歷史棧中,意味着轉到新頁面后“后退按鈕”仍可以回到該頁面。
location.replace( url )
與assign方法一樣,但會從瀏覽器歷史棧中刪除本頁面,也就是說跳轉到新頁面后“后退按鈕”不能回到該頁面。目前IE、Chrome只是簡單的跳轉,只有Firefox會刪除本頁面的歷史記錄。
location.reload( force )
重新載入當前頁面。force為true時從服務器端重載;false則從瀏覽器緩存中重載,默認值false。

 

location.hash

要使用 JS 定位錨點,完全可以使用 window.hash 配合元素 ID 完成。比如快速定位到頁面的某條評論,則直接使用如下代碼即可:

window.location.hash = "#comment-5981";
另外 Twitter、Facebook、Google 等已經開始大量使用 #! 這種形式的 hash 方法處理異步交互頁面的 URL 可回溯功能。

location.search

如果有這樣一個 URL 地址:

http://www.google.com.hk/search?hl=zh-CN&source=hp&biw=1400&bih=935&q=%E8%8A%92%E6%9E%9C%E5%B0%8F%E7%AB%99&aq=f&aqi=&aql=&oq=
如何利用 JS 腳本捕獲頁面 GET 方式請求的參數?其實直接使用 window.location.search 獲得,然后通過 split 方法結合循環遍歷自由組織數據格式。

另外,如果根據用戶的搜索條件刷新頁面,只需直接設置 window.location.search 即可。

windows.open("URL","窗口名稱","窗口外觀設定");

<A href="javascript:window.open('webpage.asp','_self')"> 點擊這里 </A>

<a onclick="window.open('webpage.asp','_self');void 0" href="#"> 點擊這里 </a>


於Window.open的參數小結(參書改編) 先看一個例子: 
[javascipt:]window.open("Webpage.asp?",Derek,"height=100,width=100,status=yes,toolbar=yes, menubar=no,location=no"); 
此語句打開一個新窗口,頁面為webpage.asp,參數為var,名字為Derek,高為100,寬為100,顯示狀態欄和工具條,不顯示菜單和地址。

具體總結的各個屬性參數如下: 
window = object.open([URL ][, name ][, features ][, replace]]]]) 
URL:新窗口的URL地址 
name:新窗口的名稱,可以為空 
featurse:屬性控制字符串,在此控制窗口的各種屬性,屬性之間以逗號隔開。 
fullscreen= { yes/no/1/0 } 是否全屏,默認no

channelmode= { yes/no/1/0 } 是否顯示頻道欄,默認no 
toolbar= { yes/no/1/0 } 是否顯示工具條,默認no 
location= { yes/no/1/0 } 是否顯示地址欄,默認no 
directories = { yes/no/1/0 } 是否顯示轉向按鈕,默認no 
status= { yes/no/1/0 } 是否顯示窗口狀態條,默認no 
menubar= { yes/no/1/0 } 是否顯示菜單,默認no 
scrollbars= { yes/no/1/0 } 是否顯示滾動條,默認yes 
resizable= { yes/no/1/0 } 是否窗口可調整大小,默認no 
width=number 窗口寬度(像素單位) 
height=number 窗口高度(像素單位) 
top=number 窗口離屏幕頂部距離(像素單位) 
left=number 窗口離屏幕左邊距離(像素單位)

關於本題中,第二個參數的詳解: 
name可以為:

_blank 表示新開一個窗口, 
_parent表示父框架窗口, 
_self表示覆蓋該窗口, 
xxx表示覆蓋名字為xxx的窗口 
(每個窗口都可以給他命名) 
不能為省略,可以為空!


免責聲明!

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



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