第一篇:asp刷新頁面實現方式總結
網頁刷新代碼-刷新頁面實現方式總結篇 自動刷新頁面的實現方法總結: 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(“”)
轉到指定頁: Response.Write(“”)
刷新頁面實現方式總結(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參數或者表單傳值判斷是否發生某個操作,然后利用response.redirect 刷新。
4,刷新框架頁 〈script language=javascript>top.leftFrm.location.reload();parent.frmTop.location.reload();
Response.Write(“”);//open Response.Write(“”);
在子窗體頁面代碼head中加入
刷新的內容加在 if(!IsPostBack)中
在框架頁中右面刷新左面 //刷新框架頁左半部分
Response.Write(“”);
頁面定時刷新功能實現 有三種方法:
1,在html中設置:
2.jsp <% response.setHeader(“refresh”,“1”);%> 每一秒刷新一次
3.使用javascript:
//第二個刷新父頁面的函數
//第三個打開窗口
同時刷新框架網頁中的多個頁面
現在有個框架頁面Index_BianJ.aspx,上面有個toppage,leftpage.rightpage, bottompage四個頁面。
本人想在leftpage頁面中點擊一個按鈕,然后想刷新整個Index_BianJ.aspx頁面,當然也包括四個小頁面。
嘗試用Response.Redirect(string.Format(“Index_BianJ.aspx?zhcyh=” + Convert.ToString(Session[“ZhuCYHM”])));來實現,但是行不通,如果這樣做只會在leftpage頁面中更新。其余頁面沒什么變化。
最后使用Response.Output.Write(“”);配合這JS語言來實現的框架中多個頁面同時刷新的功能。
或者在HTML代碼中添加如下代碼也可以實現
第二篇:php頁面緩存實現方法總結范文
php頁面緩存實現方法總結
在php頁面緩存主要用到的是ob系列函數,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高級的緩存是不使用這些函數的,本文章最后一個實現就有講到,大家可參考一下。ob_start():頁面緩存開始的標志,此函數一下的內容直至ob_end_flush()或者ob_end_clean()都保存在頁面緩存中;
ob_get_contents():用來獲取頁面緩存中的內容,獲取到以后呢,我們就可以想怎么處理這些內容都行了,過濾字段啦,匹配內容啦,都可以~~~ :)
ob_end_flush():表示頁面緩存結束。并且經我驗證,緩存的內容將輸出到當前頁面上,也就是可以顯示緩存內容。
用此三個php函數,就可以實現強大的功能。如果數據庫查詢量較大,可以用cache來解決這個問題。
下面是編碼部分。
1.初始化函數,一般是設置頁面緩存路徑、緩存文件命名格式等,可按個人喜好自定義。這里用到的識別ID是經加密的$_SERVER[REQUEST_URI]參數。這個函數中最后還有一個if判斷:若未過緩存期,則加載緩存文件,否則加載源文件。
代碼如下 復制代碼 function page_init(){
$url = $_SERVER['REQUEST_URI'];//子url,該參數一般是唯一的$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目錄創建失敗”);
//如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())//對應page_cache()函數中加上的自定義頭部
{
echo substr($contents, 27);
exit(0);
}
return true;
}
2.頁面緩存函數,這里使用到一個技巧:在緩存文件的內容中加上一個頭部信息--過期時間,所以每次只需要對頭部中的過期時間和當前時間進行比較(在page_init()函數中進行)就能判斷緩存是否過期了。
代碼如下 復制代碼
function page_cache($ttl = 0){
$ttl = $ttl ? $ttl : PAGE_TTL;//緩存時間,默認3600s
$contents = ob_get_contents();//從緩存中獲取內容
$contents = “n”.$contents;
//加上自定義頭部:過期時間=生成時間+緩存時間
file_put_contents(PAGE_FILE, $contents);//寫入緩存文件中
ob_end_flush();//釋放緩存
}
3.函數使用,注意這兩個函數有先后執行順序,還有別忘了ob_start()
代碼如下 復制代碼
page_init();//頁面緩存初始化
ob_start();//開啟緩存
...//代碼段
page_cache(60);//一般是最后一行
?> 例2
下面做個示例來說明PHP頁面緩存技術:
代碼如下 復制代碼
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);//以下是輸出的內容,放在cache_start和cache_end兩個方法之間 for($i=0;$i<5;$i++){
echo $i;
sleep(1);} cache_end($dir);?> 例
利用生成文件做緩存
代碼如下 復制代碼
* @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()創建緩存文件(放在文件未尾)* @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 “緩存文件夾創建失敗!”;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總結
ASP 課 程 設 計 總 結系別:信息工程系 班級:09大計一班 學號:52 姓名:張明
通過這次課程設計,我拓寬了知識面,鍛煉了能力,綜合素質得到了提高。課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.通過理論與實際的結合、人與人的溝通,進一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養成為能夠主動適應社會主義現代化建設需要的高素質的復合型人才。作為整個學習體系的有機組成部分,課程設計雖然安排在連續兩周進行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學習成果,檢驗學習成果。運用學習成果,把課堂上學到的系統化的理論知識,嘗試性地應用于實際設計工作,并從理論的高度對設計工作的現代化提出一些有針對性的建議和設想。檢驗學習成果,看一看課堂學習與實際工作到底有多大距離,并通過綜合分析,找出學習中存在的不足,以便為完善學習計劃,改變學習內容與方法提供實踐依據。對我們計算機專業的專科生來說,實際能力的培養至關重要,而這種實際能力的培養單靠課堂教學是遠遠不夠的,必須從課堂走向實踐。這也是一次預演和準備畢業設計工作。通過課程設計,讓我們找出自身狀況與實際需要的差距,并在以后的學習期間及時補充相關知識,為求職與正式工作做好充分的知識、能力準備,從而縮短從校園走向社會的心理轉型期。
回顧起此次asp課程設計,至今我仍感慨頗多,的確,從拿到老師給我們的題目,然后老師簡單的闡述我們該做些什么,該完成些什么的時候,我就覺得這個課程設計是很有挑戰的,因為我知道平時自
己學的知識不是很牢固,這些做起來肯定很棘手。事實驗證了我的想法。在整整兩星期的日子里,可以說得是苦多于甜,由于對相關知識所學甚少,可以說做起設計來是一片茫然。在設計的過程中遇到問題,可以說得是困難重重,遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。看著那些陌生的代碼和程序,真的不知道該怎么辦。但是最后還是我們組其他成員幫助了我。在他們做的差不多的情況下,我在幫忙整理和美化,并試著去看懂代碼,在這期間我也弄懂了不少問題和知識。由于自己并沒多少知識,別人可以說是通過此次課程設計鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識,而我呢,只能說是從這次課程設計中重新審視了自己,終于發現自己對所學知識的嚴重不足,這也給我提了個醒,沒知識終究將是一事無成。
不過通過這次課程設計我也明白了很多事理。它使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。
課程設計達到了專業學習的預期目的。在兩個星期的課程設計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對匯編語言重大功能的了解,進一步激發了我們對專業知識的興趣,并能夠結合實際存在的問題在專業領域內進行更深入的學習。在課程設計過程中,收獲知識,提高能力的同時,我也學到了很多人生的哲理,懂得怎么樣去制定計劃,怎么樣去實現這個計劃,并掌握了在執行過程中怎么樣去克服心理上的不良情緒。因此在以后的生活和學習的過程中,我一定會把課程設計的精神帶到生活中,不畏艱難,勇往直前!
第四篇:asp總結
生成靜態頁面的代碼:
<%
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
'轉換為字符
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 ”成功生成企業(“&PersonNum &”)份“ , ”../sitesys/muban1.asp“
%>
加載數據庫代碼:
<%
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
%>
插入記錄語句的執行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“
修改語句的執行2:
sql=”updatenews set topic=“&topic&”,q1=“&q1&”,fromw=“&fromw&”,sort='“&sort&”',DNT=now(),comment=“&comment&” where newsid=“&newsid&”“
刪除語句的執行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
%>
輸出語句的執行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 &”")讀出里面的內容 %>
第五篇:ShowModalDialog的心得.刷新本頁面,設置高度
1.刷新本頁面
在body里寫一個A鏈接.然后在javascript中使用click()調用.注意:在頭部加上:
第一步:
加上
(有日期控件一定加在日期控件后面,不然IE6會報錯)
引用
第二步:
引用
第三步:
在JS處調用這個,至于需要在哪個地方調用自己放.newPage.click();
2.ShowModalDialog的高度(IE8版本)
根據IE8瀏覽器,設置好頁面的高度,但是在IE6中,彈出的模式窗口高度被縮小了.自己總結一個方法:
在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;
}
在給模式窗口設置高度時可以使用這個方法:
var height = setHight(610);//這個610是IE8中模式窗口的高度.