婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 整體刷新和局部刷新frameset窗口問題深入探討

整體刷新和局部刷新frameset窗口問題深入探討

熱門標簽:甘肅銷售電銷機器人公司 智能電話機器人銷售話術 地圖標注專業和非專業 汝南縣地圖標注app 湖北地圖標注公司 福建電銷貓機器人收費 外呼直播語音系統 山東ai外呼電銷機器人好用嗎 四川正規外呼系統軟件
在項目中,經常會遇到頁面分割,最常見的系統或網站的主界面。主頁面分為,上面系統簡介、下面作者簡介、左邊系統功能菜單、右邊則是菜單真正展示的界面。

遇到這種這種分割頁面,大家首先想到是frameset,使用framset分割多種frame,這種方式簡單。若是不喜歡使用framset,喜歡前臺設計的人也許會選擇div拼接,浮動,這就考查css樣式的功底了。
這次主要講解局部刷新的問題。需求是:左邊frame,右邊frame。

大家肯定疑問,這樣刷新沒有問題啊。的確如此。現在使用framset,分割兩frame,各自更新各自。右邊frame展示菜單盡管更新提交即可。對左邊frame是沒有影響的。

為了方便理解,左邊Frame簡稱LeftFrame,右邊Frame簡稱RightFrame;假如我提交RightFrame頁面,需要更新LeftFrame【動態】頁面。那如何辦呢?
其實就是從數據庫中重新讀數據;
復制代碼 代碼如下:

FRAMESETcols="280,*"frameborder=yesbordercolor=silver>
FRAMESRC="modifyMenu!showTreeMenu"NAME="menuTree"SCROLLING="No"id="leftTree">
FRAMESRC="showModifyMenu.jsp"NAME="main"SCROLLING="AUTO"id="showModifyMenu">
lt;/FRAMESET>

其中modifyMenu!showTreeMenu是轉向到tree.jsp頁面
現在項目中,前臺使用struts2,當提交右邊頁面數據時,當時設想:然后再次跳轉到主界面,相當于重新讀取數據,但是加載的主界面竟然是顯示在右邊區域,這樣就成了兩個LeftFrame。即使更改Struts2中的resultType的重定向也不可以。

最后,竟然一個簡單的JS解決問題。
在提交右邊頁面RightFrame,使用JS更新左邊LeftFrame。如下:
在rightFrame中的body的onload的事件:
復制代碼 代碼如下:

functioninit(){
//leftTree是左邊Frame的id
//重新加載這個頁面
window.parent.frames["leftTree"].location.reload();
}

window.parent.frames["leftTree"].location.reload()
當時你在某一個思路上山窮水盡的時候,可以嘗試換種思路,也是會柳暗花明.
需求如下:若刷新右邊RightFrame頁面,只刷新部分左邊LeftFrame【刷新某個div】。
提到局部部分刷新,肯定想到是Ajax局部刷新。
那我們用純js的Ajax基礎實現:
復制代碼 代碼如下:

functioncreateXmlHttpRequest(){
if(window.XMLHttpRequest){
returnnewXMLHttpRequest();
}elseif(window.ActiveXObject){
returnnewActiveXObject("Microsoft.XMLHTTP");
}
}
functioninit(){
//則進行局部刷新
varxmlHttpReq=createXmlHttpRequest();
//獲得出發的url的,比如struts2的action或者servlet或jsp頁面
varurl="success.jsp";
xmlHttpReq.open("GET",url,true);
//因為你在作一個異步調用,
//所以你需要注冊一個XMLHttpRequest對象將調用的回調事件處理器
xmlHttpReq.onreadystatechange=function(){
if(xmlHttpReq.readyState==4){
if(xmlHttpReq.status==200){
//使用parent獲得左邊頁面中的某一個div,然后更改展示的外觀
window.parent.frames["leftTree"].document.getElementById(divId).innerHTML="測試";
}else{
alert(xmlHttpReq.status+xmlHttpReq.responseText);
}
}
};
xmlHttpReq.send(null);
}

window.parent.frames["leftTree"].document.getElementById(divId).innerHTML=xmlHttpReq.responseText
后臺action中的寫法如下:
復制代碼 代碼如下:

01.HttpServletResponseresponse=ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
out=response.getWriter();
out.print("從后臺傳入的數據");

兩種刷新方式,一種整體刷新;一種局部刷新;
您可能感興趣的文章:
  • 有關于整體刷新和局部刷新frameset窗口

標簽:肇慶 梅州 吳忠 臨沂 南充 黔東 昌都 白銀

巨人網絡通訊聲明:本文標題《整體刷新和局部刷新frameset窗口問題深入探討》,本文關鍵詞  整體,刷,新和,局部,刷新,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《整體刷新和局部刷新frameset窗口問題深入探討》相關的同類信息!
  • 本頁收集關于整體刷新和局部刷新frameset窗口問題深入探討的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 青冈县| 乌兰浩特市| 洛浦县| 左贡县| 准格尔旗| 建阳市| 张家界市| 光山县| 安福县| 青州市| 东至县| 大厂| 北川| 出国| 嘉峪关市| 鹤庆县| 旬阳县| 巫溪县| 睢宁县| 渝北区| 米林县| 巴东县| 英超| 万载县| 安吉县| 怀远县| 杂多县| 夏河县| 安义县| 甘南县| 永州市| 明星| 顺平县| 陵水| 罗山县| 静宁县| 辰溪县| 应城市| 余干县| 增城市| 舟曲县|