第一篇:asp刷新頁面實現(xiàn)方式總結(jié)
網(wǎng)頁刷新代碼-刷新頁面實現(xiàn)方式總結(jié)篇 自動刷新頁面的實現(xiàn)方法總結(jié): 1) 10表示間隔10秒刷新一次 2) 如果是你要刷新某一個iframe就把window給換成frame的名字或ID號 3) 4>
function abc(){ window.location.href=“/blog/window.location.href”;setTimeout(“abc()”,10000);} 刷新本頁:
Response.Write(“”)
刷新父頁:
Response.Write(“”)
轉(zhuǎn)到指定頁: Response.Write(“”)
刷新頁面實現(xiàn)方式總結(jié)(HTML,ASP,JS)'by aloxy
定時刷新:
1,
說明:url是要刷新的頁面URL地址 2000是等待時間=2秒,2,
說明:
n is the number of seconds to wait before loading the specified URL.url is an absolute URL to be loaded.n,是等待的時間,以秒為單位 url是要刷新的頁面URL地址
3,<%response.redirect url%>
說明:一般用一個url參數(shù)或者表單傳值判斷是否發(fā)生某個操作,然后利用response.redirect 刷新。
4,刷新框架頁 〈script language=javascript>top.leftFrm.location.reload();parent.frmTop.location.reload();
Response.Write(“”);//open Response.Write(“”);
在子窗體頁面代碼head中加入
刷新的內(nèi)容加在 if(!IsPostBack)中
在框架頁中右面刷新左面 //刷新框架頁左半部分
Response.Write(“”);
頁面定時刷新功能實現(xiàn) 有三種方法:
1,在html中設(shè)置:
2.jsp <% response.setHeader(“refresh”,“1”);%> 每一秒刷新一次
3.使用javascript:
//第二個刷新父頁面的函數(shù)
//第三個打開窗口
同時刷新框架網(wǎng)頁中的多個頁面
現(xiàn)在有個框架頁面Index_BianJ.aspx,上面有個toppage,leftpage.rightpage, bottompage四個頁面。
本人想在leftpage頁面中點擊一個按鈕,然后想刷新整個Index_BianJ.aspx頁面,當(dāng)然也包括四個小頁面。
嘗試用Response.Redirect(string.Format(“Index_BianJ.aspx?zhcyh=” + Convert.ToString(Session[“ZhuCYHM”])));來實現(xiàn),但是行不通,如果這樣做只會在leftpage頁面中更新。其余頁面沒什么變化。
最后使用Response.Output.Write(“”);配合這JS語言來實現(xiàn)的框架中多個頁面同時刷新的功能。
或者在HTML代碼中添加如下代碼也可以實現(xiàn)
第二篇:php頁面緩存實現(xiàn)方法總結(jié)范文
php頁面緩存實現(xiàn)方法總結(jié)
在php頁面緩存主要用到的是ob系列函數(shù),如ob_start(),ob_end_flush(),ob_get_contents(),但是更高級的緩存是不使用這些函數(shù)的,本文章最后一個實現(xiàn)就有講到,大家可參考一下。ob_start():頁面緩存開始的標(biāo)志,此函數(shù)一下的內(nèi)容直至ob_end_flush()或者ob_end_clean()都保存在頁面緩存中;
ob_get_contents():用來獲取頁面緩存中的內(nèi)容,獲取到以后呢,我們就可以想怎么處理這些內(nèi)容都行了,過濾字段啦,匹配內(nèi)容啦,都可以~~~ :)
ob_end_flush():表示頁面緩存結(jié)束。并且經(jīng)我驗證,緩存的內(nèi)容將輸出到當(dāng)前頁面上,也就是可以顯示緩存內(nèi)容。
用此三個php函數(shù),就可以實現(xiàn)強(qiáng)大的功能。如果數(shù)據(jù)庫查詢量較大,可以用cache來解決這個問題。
下面是編碼部分。
1.初始化函數(shù),一般是設(shè)置頁面緩存路徑、緩存文件命名格式等,可按個人喜好自定義。這里用到的識別ID是經(jīng)加密的$_SERVER[REQUEST_URI]參數(shù)。這個函數(shù)中最后還有一個if判斷:若未過緩存期,則加載緩存文件,否則加載源文件。
代碼如下 復(fù)制代碼 function page_init(){
$url = $_SERVER['REQUEST_URI'];//子url,該參數(shù)一般是唯一的$pageid = md5($url);
$dir = str_replace('/','_',substr($_SERVER['SCRIPT_NAME'],1,-4));
//目錄命名方式,如exp_index
if(!file_exists($pd = PAGE_PATH.$dir.'/'))@mkdir($pd,0777)or die(“$pd目錄創(chuàng)建失敗”);
//如cache/page/exp_index/
define('PAGE_FILE',$pd.$pageid.'.html');
//如cache/page/exp_index/cc8ef22b405566745ed21305dd248f0e.html
$contents = file_get_contents(PAGE_FILE);//讀出
if($contents && substr($contents, 13, 10)> time())//對應(yīng)page_cache()函數(shù)中加上的自定義頭部
{
echo substr($contents, 27);
exit(0);
}
return true;
}
2.頁面緩存函數(shù),這里使用到一個技巧:在緩存文件的內(nèi)容中加上一個頭部信息--過期時間,所以每次只需要對頭部中的過期時間和當(dāng)前時間進(jìn)行比較(在page_init()函數(shù)中進(jìn)行)就能判斷緩存是否過期了。
代碼如下 復(fù)制代碼
function page_cache($ttl = 0){
$ttl = $ttl ? $ttl : PAGE_TTL;//緩存時間,默認(rèn)3600s
$contents = ob_get_contents();//從緩存中獲取內(nèi)容
$contents = “n”.$contents;
//加上自定義頭部:過期時間=生成時間+緩存時間
file_put_contents(PAGE_FILE, $contents);//寫入緩存文件中
ob_end_flush();//釋放緩存
}
3.函數(shù)使用,注意這兩個函數(shù)有先后執(zhí)行順序,還有別忘了ob_start()
代碼如下 復(fù)制代碼
page_init();//頁面緩存初始化
ob_start();//開啟緩存
...//代碼段
page_cache(60);//一般是最后一行
?> 例2
下面做個示例來說明PHP頁面緩存技術(shù):
代碼如下 復(fù)制代碼
function cache_start($_time, $dir){
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$cachetime = $_time;
ob_start();
if(file_exists($cachefile)&&(time()-filemtime($cachefile)< $cachetime))
{
include($cachefile);
ob_end_flush();
exit;
} }
function cache_end($dir){
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();}
cache_start($_time, $dir);//以下是輸出的內(nèi)容,放在cache_start和cache_end兩個方法之間 for($i=0;$i<5;$i++){
echo $i;
sleep(1);} cache_end($dir);?> 例
利用生成文件做緩存
代碼如下 復(fù)制代碼
* @copyright 2009-3-13 * @param string $cache_folder 緩文件夾
* @param int $cache_create_time 文件緩存時間 * @example $cache=new Esj_Cache('./_cache',100)* @example $cache->read_cache()讀取緩存并輸出
* @example $cache->creatre_cache()創(chuàng)建緩存文件(放在文件未尾)* @example $cache->list_file()返回所有緩存文件列表 * @example $cache->del_file()刪除所有緩存文件 */
class Esj_Cache{ private $cache_folder=null;//cacher文件夾 private $wroot_dir=null;//站點目錄
private $cacher_create_time=null;//cacher文件的建立時間
public function __construct($cache_foldername,$cacher_time=100){ ob_start();$this->wroot_dir=$_SERVER['DOCUMENT_ROOT'];$this->cache_folder=$cache_foldername;$this->cacher_create_time=$cacher_time;}
public function read_cache(){ try { if(self::create_folder($this->cache_folder)){ self::get_cache();//輸出緩存文件信息 }else { echo “緩存文件夾創(chuàng)建失敗!”;return false;}
}catch(Exception $e){ echo $e;return false;} }
//測試緩存文件夾是否存在
private function exist_folder($foler){ if(file_exists($this->wroot_dir.“/”.$foler)){ return true;}else { return false;} } //建立一個新的文件夾
private function create_folder($foler){ if(!self::exist_folder($foler)){ try{ mkdir($this->wroot_dir.“/”.$foler,0777);chmod($this->wroot_dir.“/”.$foler,0777);return true;}catch(Exception $e){ self::get_cache();//輸出緩存 return false;} return false;} else { return true;} }
//讀取緩存文件
private function get_cache(){ $file_name=self::get_filename();if(file_exists($file_name)&&((filemtime($file_name)+$this->cacher_create_time)> time())){ $content=file_get_contents($file_name);if($content){ echo $content;ob_end_flush();exit;}else { echo “文件讀取失敗”;exit;} } } //返回文件的名字
private function get_filename(){ $filename=$file_name=$this->wroot_dir.'/'.$this->cache_folder.'/'.md5($_SERVER['QUERY_STRING']).“.html”;return $filename;}
//建立緩存文件
public function create_cache(){ $filename=self::get_filename();if($filename!=“"){ try{ file_put_contents($filename,ob_get_contents());return true;}catch(Exception $e){ echo ”寫緩存失敗:“.$e;exit();} return true;} }
// 取得緩存中的所有文件 public function list_file(){ $path=$this->cache_folder;if($handle = opwww.shanxiwang.netendir($path)){ while(false!==($file = readdir($handle))){ if($file!=”.“ && $file!=”..“){ $path1=$path.”/“.$file;if(file_exists($path1)){ $result[]=$file;} } } closedir($handle);} return $result;}
//刪除緩存中的所有文件 public function del_file(){ $path=$this->cache_folder;if($handle = opendir($path)){ while(false!==($file = readdir($handle))){ if($file!=”.“ && $file!=”..“){ $path1=$path.”/".$file;if(file_exists($path1)){ unlink($path1);} } } closedir($handle);} return true;} } ?>
第三篇:ASP總結(jié)
ASP 課 程 設(shè) 計 總 結(jié)系別:信息工程系 班級:09大計一班 學(xué)號:52 姓名:張明
通過這次課程設(shè)計,我拓寬了知識面,鍛煉了能力,綜合素質(zhì)得到了提高。課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.通過理論與實際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應(yīng)社會主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計雖然安排在連續(xù)兩周進(jìn)行,但并不具有絕對獨立的意義。它的一個重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識,嘗試性地應(yīng)用于實際設(shè)計工作,并從理論的高度對設(shè)計工作的現(xiàn)代化提出一些有針對性的建議和設(shè)想。檢驗學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實際工作到底有多大距離,并通過綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計劃,改變學(xué)習(xí)內(nèi)容與方法提供實踐依據(jù)。對我們計算機(jī)專業(yè)的??粕鷣碚f,實際能力的培養(yǎng)至關(guān)重要,而這種實際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計工作。通過課程設(shè)計,讓我們找出自身狀況與實際需要的差距,并在以后的學(xué)習(xí)期間及時補(bǔ)充相關(guān)知識,為求職與正式工作做好充分的知識、能力準(zhǔn)備,從而縮短從校園走向社會的心理轉(zhuǎn)型期。
回顧起此次asp課程設(shè)計,至今我仍感慨頗多,的確,從拿到老師給我們的題目,然后老師簡單的闡述我們該做些什么,該完成些什么的時候,我就覺得這個課程設(shè)計是很有挑戰(zhàn)的,因為我知道平時自
己學(xué)的知識不是很牢固,這些做起來肯定很棘手。事實驗證了我的想法。在整整兩星期的日子里,可以說得是苦多于甜,由于對相關(guān)知識所學(xué)甚少,可以說做起設(shè)計來是一片茫然。在設(shè)計的過程中遇到問題,可以說得是困難重重,遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。看著那些陌生的代碼和程序,真的不知道該怎么辦。但是最后還是我們組其他成員幫助了我。在他們做的差不多的情況下,我在幫忙整理和美化,并試著去看懂代碼,在這期間我也弄懂了不少問題和知識。由于自己并沒多少知識,別人可以說是通過此次課程設(shè)計鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識,而我呢,只能說是從這次課程設(shè)計中重新審視了自己,終于發(fā)現(xiàn)自己對所學(xué)知識的嚴(yán)重不足,這也給我提了個醒,沒知識終究將是一事無成。
不過通過這次課程設(shè)計我也明白了很多事理。它使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。
課程設(shè)計達(dá)到了專業(yè)學(xué)習(xí)的預(yù)期目的。在兩個星期的課程設(shè)計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對匯編語言重大功能的了解,進(jìn)一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結(jié)合實際存在的問題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。在課程設(shè)計過程中,收獲知識,提高能力的同時,我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會把課程設(shè)計的精神帶到生活中,不畏艱難,勇往直前!
第四篇:asp總結(jié)
生成靜態(tài)頁面的代碼:
<%
dim xmlHttp,os, PersonNum
'定義xmlhttp
function GetXmlText(Url)
dim GetXmlHttp
set GetXmlHttp=server.Createobject(“Microsoft.XMLHTTP”)GetXmlHttp.open “Get”,url,false,“",”“
GetXmlHttp.Send
'GetXmlText=GetXmlHttp.Responsetext
GetXmlText=GetXmlHttp.ResponseBody
set GetXmlHttp=Nothing
end function
'轉(zhuǎn)換為字符
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject(”adodb.stream“)objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
'保存文件
Sub SaveToFile(strBody,File)
Dim objStream
Set objStream = Server.CreateObject(”ADODB.Stream“)With objStream
.Type = 2
.Open
.Charset = ”GB2312“
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub
%>
<% dim k
k=0
'set rs=server.createobject(”adodb.recordset“)
'sql=”select ComId FROM CompanyTbl order by Comid desc“
'rs.open sql,conn,1,1
'PersonNum = rs.recordcount
'
do while k<10
Randomize
ComId=int(rnd*1000)
%>
<%SaveToFile
BytesToBstr(GetXmlText(”“%>
<%
'rs.movenext
k=k+1
loop
'rs.close()
'Set rs=Nothing
'Qsite.ShowMsg ”成功生成企業(yè)(“&PersonNum &”)份“ , ”../sitesys/muban1.asp“
%>
加載數(shù)據(jù)庫代碼:
<%
response.expires=0
response.buffer=true
session.timeout=30
dim conn
dim char_str(20)
sub OpenDataConn()
dim connstr
connstr = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“
connstr = connstr & Server.MapPath(”../data/qhousedb.asp“)
'response.write connstr
set conn=Server.CreateObject(”AdoDb.Connection“)
conn.Open connstr
end sub
sub CloseDataConn()
'conn.close
set conn=Nothing
end sub
%>
插入記錄語句的執(zhí)行1:
sql=”insert into news(topic,q1,fromw,sort,comment)values(“&topic&”,“&q1&”,“&fromw&”,'“&sort&”',“&comment&”)“
opendataconn
conn.execute sql
response.redirect”news_del.asp“
修改語句的執(zhí)行2:
sql=”updatenews set topic=“&topic&”,q1=“&q1&”,fromw=“&fromw&”,sort='“&sort&”',DNT=now(),comment=“&comment&” where newsid=“&newsid&”“
刪除語句的執(zhí)行3:
<%
opendataconn
ids=split(request(”newsid“),”,“)
for i=0 to ubound(ids)
tt=trim(ids(i))
set rs=server.createobject(”adodb.recordset“)
'rs.open”select * from news where newsid=“&tt&”“,conn,1,1
'If Not Rs.Eof Then
'imgname=Split(Trim(Rs(”imgname“)),”,“)
' For m=0 to ubound(imgname)
'If len(imgname(m))>12 then
'set fso=Server.CreateObject(”Scripting.FileSystemObject“)
' fso.deleteFile Server.MapPath(”../pic/“&imgname(m))
'Set fso=Nothing
' end if
'Next
' End if
'rs.close
sql=”select * from news where newsid=“&tt&”“
rs.open sql,conn,1,1
if not rs.eof then
conn.execute ”delete from news where newsid=“&tt&”“
rs.close
set rs=nothing
end if
conn.execute”delete from news where newsid=“&tt&”“
next
response.redirect”news_del.asp“
closedataconn
%>
輸出語句的執(zhí)行4:
<%
strSql=”select top 12 * from news where sort=1 order by dnt desc“set rs=Server.CreateObject(”ADODB.RecordSet“)
rs.open strSql,conn,3,3
do while not rs.eof%>
<%
Rs.MoveNext
Loop
Rs.Close %>
Session.timeout=100
失效時間!
把文件寫入txt中
<%
dim fs,fname,f,t,x
set fs=Server.CreateObject(”Scripting.FileSystemObject“)公共的部分
'set fname=fs.CreateTextFile(”textads.txt“,true)
'fname.WriteLine(”我是偉?。 ?year(now())&”-“&month(now())&”-“&day(now())&”“)
'fname.Close
'set fname=nothing
'set fs=nothing是寫入文件中
set t=fs.OpenTextFile(”textads.txt“,1,false)
x=t.ReadLine 張小
x=replace(x,”,“,”我是張小偉“)
t.close
Response.Write(”“& x &”")讀出里面的內(nèi)容 %>
第五篇:ShowModalDialog的心得.刷新本頁面,設(shè)置高度
1.刷新本頁面
在body里寫一個A鏈接.然后在javascript中使用click()調(diào)用.注意:在頭部加上:
第一步:
加上
(有日期控件一定加在日期控件后面,不然IE6會報錯)
引用
第二步:
引用
第三步:
在JS處調(diào)用這個,至于需要在哪個地方調(diào)用自己放.newPage.click();
2.ShowModalDialog的高度(IE8版本)
根據(jù)IE8瀏覽器,設(shè)置好頁面的高度,但是在IE6中,彈出的模式窗口高度被縮小了.自己總結(jié)一個方法:
在JS中寫入:
引用
function setHight(height){
var ua = navigator.userAgent.toLowerCase();//客戶端瀏覽器信息var size=“";
if(window.ActiveXObject){//判斷IE瀏覽器
size=ua.match(/msie([d.]+)/)[1];//得出IE的版本大小
}
if(size==”6.0"){
height = Number(height)+ 60;//在IE8中的高度加60就是IE6下的高度了.}
return height;
}
在給模式窗口設(shè)置高度時可以使用這個方法:
var height = setHight(610);//這個610是IE8中模式窗口的高度.