十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
FrontPage可以生成JScript代碼,是在做特殊效果的時(shí)候,不知道你想要生成什么樣的代碼,代碼的具體功能是要干什么?
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專(zhuān)業(yè)網(wǎng)絡(luò)公司,創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營(yíng)銷(xiāo)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
FrontPage已經(jīng)死掉了,微軟都已經(jīng)放棄了,建議你改用Dreamweaver,現(xiàn)在做網(wǎng)頁(yè)的人都用Dreamweaver,行為面板里可以實(shí)現(xiàn)很多效果,都是javascript。
文章目錄一、向客戶(hù)端注冊(cè)腳本 二、Application_Start 事件里面生成 JavaScript 文件三、用 Web Form 來(lái)實(shí)現(xiàn) 四、利用一般處理程序 ashx 文件生成的客戶(hù)端代碼調(diào)用方式代碼下載一、向客戶(hù)端注冊(cè)腳本 先用Page.ClentScript.IsClientScriptBlockRegistered()判斷腳本是否已經(jīng)注冊(cè),若未注冊(cè),則調(diào)用 Page.ClientScript.RegisterClicentScriptBlock,具體可以看這篇文章在ASP.NET 2.0 中高效率地使用 JavaScript - Part 1。至于 ASP.NET AJAX,ScriptManager 類(lèi)有另外一套注冊(cè)客戶(hù)端腳本的方法。二、在Web應(yīng)用程序啟動(dòng)的時(shí)候用流往服務(wù)器寫(xiě)入JavaScript 腳本文件,即在Application_Start 事件里面生成 JavaScript 文件,然后在頁(yè)面里調(diào)用。 那就在程序啟動(dòng)的時(shí)候
string path = Server.MapPath("../js/xyz.js ");
// Delete the file if it exists.if (File.Exists(path)){File.Delete(path);}// Create the file.StreamWriter sr = File.CreateText(path);
sr.WriteLine ("function f1()");
sr.WriteLine ("{");
// 這里是f1的內(nèi)容
//……sr.WriteLine ("}");
sr.Close(); 三、用 Web Form 來(lái)實(shí)現(xiàn) 在Page_Load 事件里面輸出 JavaScript 腳本流,然后用 Response.End() 方法將當(dāng)前所有緩沖的輸出發(fā)送到客戶(hù)端,停止該頁(yè)的執(zhí)行,因?yàn)闃?biāo)簽是在Page Render 事件呈現(xiàn)的,Page Load 事件先于 Page Render 執(zhí)行,執(zhí)行到Response.End() ,結(jié)束該頁(yè)的輸出,Page Reader 的內(nèi)容就不再輸出了,則后面的 之類(lèi)的標(biāo)簽就不會(huì)輸出。Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.ContentType = "text/javascript" Response.Write("var External = {};" vbCrLf)
Response.Write("External.hello='Hello, This is external JavaScript output in Page_Load event and end by Response.End() method !';")
Response.End()
End Sub四、利用一般處理程序 ashx 文件 在解決方案資源管理器里面“添加新項(xiàng)”,選擇“一般處理程序”,點(diǎn)添加后生成一個(gè) ashx 后綴名的文件。該文件類(lèi)繼承 IHttpHandler 接口,定義 ASP.NET 為使用自定義 HTTP 處理程序同步處理 HTTP Web 請(qǐng)求而實(shí)現(xiàn)的協(xié)定。它只公開(kāi)了兩個(gè)成員IsReusable: 獲取一個(gè)值,該值指示其他請(qǐng)求是否可以使用 IHttpHandler 實(shí)例。如果 IHttpHandler 實(shí)例可再次使用,則為 true;否則為 false。將 IsReusable 屬性用所提供的重寫(xiě) IsReusable 屬性訪(fǎng)問(wèn)器 (getter) 的代碼顯式設(shè)置為 true 或 false。ProcessRequest: 這個(gè)輸出數(shù)據(jù)流的關(guān)鍵方法,它通過(guò)實(shí)現(xiàn) IHttpHandler 接口的自定義 HttpHandler 啟用 HTTP Web 請(qǐng)求的處理。 用context.Response.Write() 向客戶(hù)端輸出數(shù)據(jù)。
Imports System
Imports System.Web
Public Class OutsiteJS : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/plain" context.Response.Write("var Outsite = {};")
context.Response.Write("Outsite.greeting = 'Hello! This is outsite javascript created by ashx file(一般處理程序)';")End SubPublic ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get Return False End Get End PropertyEnd Class 生成的客戶(hù)端代碼var External= {};
External.hello='Hello, This is external JavaScript output in Page_Load event and end by Response.End() method !' 調(diào)用方式調(diào)用方式其實(shí)跟通常的調(diào)用外部 Javascript 差不多,只是 標(biāo)簽加上 type="text/javascript" 屬性,以免識(shí)別不了文件類(lèi)型, src 屬性設(shè)置為動(dòng)態(tài)文件的文件名,如"makeJS.aspx" 而不是通常的“filename.js”。
1、打開(kāi)Dreamweaver軟件,然后在創(chuàng)建新項(xiàng)目下選擇HTML;
2、點(diǎn)擊“文件”選項(xiàng),然后點(diǎn)擊“另存為”,將文件命名為test,并將其保存在電腦桌面上;
3、編寫(xiě)一個(gè)基本的html文件,該html文件包含一個(gè)用戶(hù)名及一個(gè)密碼輸入文本框和一個(gè)確定以及一個(gè)取消按鈕;
4、在title標(biāo)簽下插入script language="JavaScript"js代碼/script,然后在html中調(diào)用js函數(shù);
5、完成js代碼編寫(xiě)及html調(diào)用js代碼后保存tset.html文件,然后在瀏覽器中打開(kāi)test.html文件,檢查js代碼執(zhí)行的效果;
6、在Dreamweaver軟件中新建一個(gè)check.js文件(方法同html文件新建),在check文件中輸入校驗(yàn)函數(shù);
7、然后在test.html的title標(biāo)簽下引用check.js文件
8、在程序中引用check.js文件中的js函數(shù),然后在瀏覽器中刷新test.hmtl文件,然后在username的輸入框中輸入非法字符來(lái)檢驗(yàn)js代碼。
你這樣不行,是因?yàn)?,document.getElementById('topage').value里的topage在你page.innerHTML時(shí)并不存在,所以取不到值,改成這樣吧
script type="text/javascript"
function abc() {
var page = document.getElementById("pageq");
page.innerHTML = "跳轉(zhuǎn)到input type=\"text\" id=\"topage\" value=\"110\"/頁(yè)a href='#' onclick='getPage();' GO/a";
//page.innerHTML = "跳轉(zhuǎn)到input type=\"text\" id=\"topage\" value=\"110\"/頁(yè)a href=\"#\" onclick=\"queryList('"+document.getElementById('topage').value+"')\"點(diǎn)點(diǎn)點(diǎn)/a";
}
function getPage(){
window.location = queryList(document.getElementById("topage"));
}
/script
/HEAD
BODY onload="abc()"
div id="pageq" onclick="abc();"/div
/BODY
javascript代碼如下:
script
var a = parseInt(Math.random() * 1000000);
if (a.length 6)//排除第一位數(shù)字為0的判斷
{
a = parseInt(Math.random() * 1000000);//如果第一位為0,則重新生成隨機(jī)數(shù)。
}
location.href="y.cn/“+a;
/script
用math.random這個(gè)函數(shù)來(lái)實(shí)現(xiàn)生成隨機(jī)數(shù),parseInt來(lái)取整,默認(rèn)是生成1位數(shù),*1000000這樣實(shí)現(xiàn)了生成6位的隨機(jī)數(shù)了,主要是掌握隨機(jī)數(shù)這個(gè)函數(shù)的應(yīng)用