top.location.href和localtion.href代码剖析
$("#updateform").ajaxSubmit(function(data) { alert(data);if(data){self.location.href="/moocgd/BasicServlet?method=getBasicinfo&userid=${user.id}";}});
針對(duì)上述代碼段,中的self.location.href,進(jìn)行分析
top.location.href=”url”????????? 在頂層頁(yè)面打開url(跳出框架)
self.location.href=”url”???????? 僅在本頁(yè)面打開url地址
parent.location.href=”url” ??? 在父窗口打開Url地址
this.location.href=”url” ??? 用法和self的用法一致 ????
?if (top.location == self.location) 判斷當(dāng)前l(fā)ocation 是否為頂層來?禁止frame引用 ? 如果頁(yè)面當(dāng)中有自定義的frame的話,也可以將parent? self?? top換為自定義frame的名稱 ???? 效果就是在自定義frame窗口打開url地址
?
實(shí)際中可能這樣使用
??????? if(top !== self){ ??????????? top.location.href = location.href; ??????? }???禁止frame引用
?
以下是從網(wǎng)上找到的一個(gè)例子,不是很直觀, 我加了上面那三行代碼, 可以先去掉, 再加上, 看一下效果,就很清楚了 以下是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();>
以下是一個(gè)隨意文件名的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表示當(dāng)前窗口,如果你的文件只有一個(gè)框架,沒有iframe和frmaeset,那么是完全一致的,沒有區(qū)別。
top.location是在頂層frame中打開新頁(yè)?? window.location是在當(dāng)前frame中打開新頁(yè)
parent.location 在當(dāng)前窗口的父窗口打開Url地址
?
?
top表示主窗口,location表示當(dāng)前窗口,如果你的文件只有一個(gè)框架,沒有iframe和frmaeset,那么是完全一致的,沒有區(qū)別。
總結(jié)
以上是生活随笔為你收集整理的top.location.href和localtion.href代码剖析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BeanUtils注意事项
- 下一篇: ajax返回类型探讨