top.location.href和localtion.href代码剖析
$("#updateform").ajaxSubmit(function(data) { alert(data);if(data){self.location.href="/moocgd/BasicServlet?method=getBasicinfo&userid=${user.id}";}});
針對上述代碼段,中的self.location.href,進行分析
top.location.href=”url”????????? 在頂層頁面打開url(跳出框架)
self.location.href=”url”???????? 僅在本頁面打開url地址
parent.location.href=”url” ??? 在父窗口打開Url地址
this.location.href=”url” ??? 用法和self的用法一致 ????
?if (top.location == self.location) 判斷當前location 是否為頂層來?禁止frame引用 ? 如果頁面當中有自定義的frame的話,也可以將parent? self?? top換為自定義frame的名稱 ???? 效果就是在自定義frame窗口打開url地址
?
實際中可能這樣使用
??????? if(top !== self){ ??????????? top.location.href = location.href; ??????? }???禁止frame引用
?
以下是從網上找到的一個例子,不是很直觀, 我加了上面那三行代碼, 可以先去掉, 再加上, 看一下效果,就很清楚了 以下是top.htm 代碼 <script language=javascript> function rs(){
? ?if(top !== self){ ????????
??? top.location.href = location.href; ??????
? }???
parent.left.location.href="top.htm" parent.bot.location.href="top.htm" } < /script> < input type=button name=name value="ksdj" οnclick=rs();>
以下是一個隨意文件名的htm文件: <FRAMESET COLS="150,*"> < FRAME SRC="left.htm" name=left> < FRAMESET ROWS="150,*"> < FRAME SRC="top.htm" name=top> < FRAME SRC="bot.htm" name=bot> < /FRAMESET> < /FRAMESET> 你自己試試,我想你要的可能就是這樣的效果!
top表示主窗口,location表示當前窗口,如果你的文件只有一個框架,沒有iframe和frmaeset,那么是完全一致的,沒有區別。
top.location是在頂層frame中打開新頁?? window.location是在當前frame中打開新頁
parent.location 在當前窗口的父窗口打開Url地址
?
?
top表示主窗口,location表示當前窗口,如果你的文件只有一個框架,沒有iframe和frmaeset,那么是完全一致的,沒有區別。
總結
以上是生活随笔為你收集整理的top.location.href和localtion.href代码剖析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BeanUtils注意事项
- 下一篇: ajax返回类型探讨