日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

創(chuàng)建彈出式“每日提示”窗口

創(chuàng)建彈出式“每日提示”窗口

更新時間:2020-02-09 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

* 本例程將會用到Application對象、數(shù)據(jù)庫、JavaScript、以及文件操作。

首先,我們列一下本例程將涉及的內(nèi)容:


1) 我們將創(chuàng)建一個用于顯示“每日提示”的彈出式窗口;
2) 提示將在每天呈現(xiàn)不同的內(nèi)容;
3) 提示內(nèi)容保存于數(shù)據(jù)庫中,接受由網(wǎng)上傳來的索取指令;
4) 提示內(nèi)容更新便利,也可以隨時添加新的內(nèi)容;
5) 提供一種手段以列出所有提示。

下面,我們將涉及細節(jié)問題。我們只討論其中的某些內(nèi)容,其它的信息將由實際產(chǎn)生的文檔提供(什么意思?蜘蛛精也不太明白,待我們往后瞧瞧再說)。

我需要知道當前顯示的是哪一條提示。為了傳送當前提示的編號,我們要用到Application。同時,為了在更新提示時知道這些,我們要將已顯示的提示編號存檔,保存在磁盤中。這樣做是為了防止服務器重啟動、斷電、(反革命份子蓄意破壞、非法組織黑紅色網(wǎng)站等)事故中相關數(shù)據(jù)丟失。我們就用TIPSTORE.DAT作數(shù)據(jù)存檔文件。它包含兩行,一行是提示的編號,一行是數(shù)據(jù)。

因為這些值一直存放在Application中,當運行“每日提示”時,我們就可將它們從TIPSTORE.DAT中取出。作這項工作最佳的方式是利用GLOBAL.ASA,在Application_OnStart中。GLOBAL.ASA文件可以取出這些值。(知道下面這句話怎么譯的人請舉手。㏕his is done, courtesy of the FileSystemObject and its support through the TextStreamObject methods:(好,手放下!既然你們都知道了,那我也就不解釋了)


PhyPth = Server.MapPath("/tipstore.dat")
set FilSys = CreateObject("Scripting.FileSystemObject")
set TipFil = FilSys.OpenTextFile(PhyPth, 1)
Application("CurTip") = TipFil.ReadLine
Application("SymDt") = CDate(TipFil.ReadLine)
TipFil.Close
set TipFil = nothing
set FilSys = nothing

我們選擇Server.MapPath指明文件的物理位址。這可使這段用于處理DAT文件的代碼無須經(jīng)過修改即可用于多個站點。FilSys創(chuàng)建為FileSystemObject,TipFil創(chuàng)建為TextStreamObject。我們接下來就可從這個文件里讀數(shù)據(jù),完成后再關閉它。

接下來,我們來看看這個更新提示的頁面。這也是我們向用戶提供提示選擇權的頁面。我也許會建議你把它放到你的主頁上,而其實它可以放到任何地方。讓我們來看一看這個名為HOME.ASP的文件的內(nèi)容:

<%

'Tip of the day processing
if Application("SymDt") < Date then
    Application.Lock
    CurTip = Application("CurTip") + 1
    SymDt = date
    Application("CurTip") = CurTip
    Application("SymDt") = SymDt
    Application.Unlock

    PhyPth = Server.MapPath("/tipstore.dat")
    set FilSys = CreateObject("Scripting.FileSystemObject")
    set TipFil = FilSys.CreateTextFile(PhyPth, true)
    TipFil.WriteLine(CurTip)
    TipFil.WriteLine(CStr(SymDt))
    TipFil.Close
    set TipFil = nothing
    set FilSys = nothing
end if

%> ...
直到最后,我們檢查當前的提示是否比上一個提示更新。如果第一個用戶訪問這個導致新數(shù)據(jù)的頁面,我們就很容易來處理這種變化。(明白乎?反正蜘蛛精是搞蒙了。我發(fā)覺翻譯技術資料最頭痛的并不是技術內(nèi)容,而是如何去領會作者的意思。鄙人生性愚鈍,才疏學淺,直覺亦不甚敏銳,只有把這些內(nèi)容留給網(wǎng)友了。原文請見英文版)。鎖住Application,我們就不會取到重復的變化。選擇下一個提示的編號,把當前的編號存入數(shù)據(jù)中以備明天使用。由于上述的諸多原因,將處理的結果存入文檔是必要的。(除非你是玩MUD,或與網(wǎng)絡情人進行生死戀?梢浴24 hours a day, 7 days a week”地開著機器)

為了產(chǎn)生彈出式瀏覽器窗口,我們得借助JavaScript來完成。下面的函數(shù)可以完成這個功能。

function displayPopup(url, height, width) {

properties = "toolbar=0,location=0,scrollbars=1,height=" + = height;
properties = properties + ",width=" + width;
properties = properties + ",left=0,top=0";
popupHandle = open(url, "tipwindow", properties);

}
就像你看到的那樣,我們可以在這個彈出窗口中顯示任何一個網(wǎng)址。我們也可控制窗口的高度和寬度。對于不同的瀏覽器,代碼產(chǎn)生的結果是不一樣的,所以需要在IE和Netscape中作測試。我已預設了一些參數(shù)以調(diào)整我們要生成的窗口。

Javascript要以為我們創(chuàng)建這個窗口。
URL:

<a href="javascript:displayPopup('popup.asp',300,300)">

'javascript:'協(xié)議告訴瀏覽器這段代碼由JavaScript引擎解釋,而與網(wǎng)絡服務器無關。這樣我們可以讓瀏覽器處理函數(shù)時將POPUP.ASP作為地址。窗口大小為300×300象素。

也許該讓POPUP.ASP粉墨登場了。

<%

TipNbr = Application("CurTip")

set rstTip = CreateObject("ADODB.Recordset")
rstTip.Open "SELECT * FROM Tip WHERE Tip=" & TipNbr, _
   "DSN=TipData"
%>
我們創(chuàng)建rstTip作為Recordset來訪問數(shù)據(jù)庫,這個數(shù)據(jù)庫注冊為系統(tǒng)DSN(System DSN)(注冊方法就不多說了吧,在控制面板中完成)。 DSN的名稱為'TipData'。在記錄中,我們關注存于Application中的提示編號。

我們要從記錄中顯示相關信息。


... <% = rstTip("TipTitle") %> ...
通過這種方法,我們把域'TipTitle'從當前的記錄中記出,并將其返回至瀏覽器。我們完成顯示后,就產(chǎn)閉它,釋放對象。


... <%
    rstTip.Close
    set rstTip = nothing
%> ...
你會發(fā)現(xiàn)另有兩個ASP文件:RESETTIPS.ASP使提示編號回復到列表的開始;TIPLIST.ASP按指定的格式顯示所有的提示。

祝各位編程愉快!

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 日韩一区二区免费视频 | 另类国产精品一区二区 | 久久国产精品网 | 射久久久 | 中文字幕一区久久久久 | 欧美福利精品福利视频在线观看 | 欧美精品人爱c欧美精品 | 国产三级观看久久 | jyzziyzzz免费视频国产 | 欧美精品日韩一区二区三区 | 国产资源视频 | 成人在线视频观看 | 精品国产影院 | 久久亚洲aⅴ精品网站婷婷 久久亚洲国产精品五月天 久久亚洲国产精品五月天婷 | 久久精品中文字幕有码日本 | 亚洲精品福利在线 | 黄视频在线观看免费视频 | 日本高清在线播放 | 国产欧美日韩在线播放 | 免费精品一区二区三区在线观看 | 97视频在线观看视频最新 | 免费看片在线 | 午夜一级片 | 欧美日本日韩aⅴ在线视频 欧美日本一 | 青草视频.com | 欧美一级毛片在线看视频 | 天天影视色| 国产成人一区二区动漫精品 | 久久澡人人澡狠狠澡 | 成人福利在线看 | 亚洲成在线观看 | 亚洲 欧美 日韩在线一区 | 青青啪 | 国产成人小视频 | 午夜国产精品福利在线观看 | 日韩电 影在线播放 | 成人免费看 | 91孕妇精品一区二区三区 | 欧美成人禁片在线观看网址 | 久久996re热这里有精品 | 99久久精品免费看国产一区二区三区 |