軟件藝術(shù)思考者  
          混沌,彷徨,立志,蓄勢...
          公告
          日歷
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          隨筆分類(86)

          隨筆檔案(85)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           
          Javascript----文件操作
          一、功能實(shí)現(xiàn)核心:FileSystemObject 對象
          ????要在javascript中實(shí)現(xiàn)文件操作功能,主要就是依靠FileSystemobject對象。
          二、FileSystemObject編程
          使用FileSystemObject 對象進(jìn)行編程很簡單,一般要經(jīng)過如下的步驟: 創(chuàng)建FileSystemObject對象、應(yīng)用相關(guān)方法、訪問對象相關(guān)屬性 。
          (一)創(chuàng)建FileSystemObject對象
          創(chuàng)建FileSystemObject對象的代碼只要1行:
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          上述代碼執(zhí)行后,fso就成為一個(gè)FileSystemObject對象實(shí)例。
          (二)應(yīng)用相關(guān)方法
          創(chuàng)建對象實(shí)例后,就可以使用對象的相關(guān)方法了。比如,使用CreateTextFile方法創(chuàng)建一個(gè)文本文件:
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          var f1 = fso.createtextfile("c:\\\\myjstest.txt",true");
          (三)訪問對象相關(guān)屬性
          要訪問對象的相關(guān)屬性,首先要建立指向?qū)ο蟮木浔@就要通過get系列方法實(shí)現(xiàn):GetDrive負(fù)責(zé)獲取驅(qū)動(dòng)器信息,GetFolder負(fù)責(zé)獲取文件夾信息,GetFile負(fù)責(zé)獲取文件信息。比如,指向下面的代碼后,f1就成為指向文件c:\\test.txt的句柄:
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          var f1 = fso.GetFile("c:\\\\myjstest.txt");
          然后,使用f1訪問對象的相關(guān)屬性。比如:
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          var f1 = fso.GetFile("c:\\\\myjstest.txt");
          alert("File last modified: " + f1.DateLastModified);
          執(zhí)行上面最后一句后,將顯示c:\\myjstest.txt的最后修改日期屬性值。
          但有一點(diǎn)請注意:對于使用create方法建立的對象,就不必再使用get方法獲取對象句柄了,這時(shí)直接使用create方法建立的句柄名稱就可以:
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          var f1 = fso.createtextfile("c:\\\\myjstest.txt",true");
          alert("File last modified: " + f1.DateLastModified);
          三、操作驅(qū)動(dòng)器(Drives)
          使用FileSystemObject對象來編程操作驅(qū)動(dòng)器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對文件進(jìn)行交互操作一樣,比如:拷貝、移動(dòng)文件夾,獲取文件夾的屬性。
          (一)Drives對象屬性
          Drive對象負(fù)責(zé)收集系統(tǒng)中的物理或邏輯驅(qū)動(dòng)器資源內(nèi)容,它具有如下屬性:
          l TotalSize:以字節(jié)(byte)為單位計(jì)算的驅(qū)動(dòng)器大小。
          l AvailableSpace或FreeSpace:以字節(jié)(byte)為單位計(jì)算的驅(qū)動(dòng)器可用空間。
          l DriveLetter:驅(qū)動(dòng)器字母。
          l DriveType:驅(qū)動(dòng)器類型,取值為:removable(移動(dòng)介質(zhì))、fixed(固定介質(zhì))、network(網(wǎng)絡(luò)資源)、CD-ROM或者RAM盤。
          l SerialNumber:驅(qū)動(dòng)器的系列碼。
          l FileSystem:所在驅(qū)動(dòng)器的文件系統(tǒng)類型,取值為FAT、FAT32和NTFS。
          l IsReady:驅(qū)動(dòng)器是否可用。
          l ShareName:共享名稱。
          l VolumeName:卷標(biāo)名稱。
          l Path和RootFolder:驅(qū)動(dòng)器的路徑或者根目錄名稱。
          (二)Drive對象操作例程
          下面的例程顯示驅(qū)動(dòng)器C的卷標(biāo)、總?cè)萘亢涂捎每臻g等信息:
          var fso, drv, s ="";
          fso = new ActiveXObject("Scripting.FileSystemObject");
          drv = fso.GetDrive(fso.GetDriveName("c:\\\\"));
          s += "Drive C:" + " - ";
          s += drv.VolumeName + "\\n";
          s += "Total Space: " + drv.TotalSize / 1024;
          s += " Kb" + "\\n";
          s += "Free Space: " + drv.FreeSpace / 1024;
          s += " Kb" + "\\n";
          alert(s);
          四、操作文件夾(Folders)
          涉及到文件夾的操作包括創(chuàng)建、移動(dòng)、刪除以及獲取相關(guān)屬性。
          Folder對象操作例程 :
          下面的例程將練習(xí)獲取父文件夾名稱、創(chuàng)建文件夾、刪除文件夾、判斷是否為根目錄等操作:
          var fso, fldr, s = "";
          // 創(chuàng)建FileSystemObject對象實(shí)例
          fso = new ActiveXObject("Scripting.FileSystemObject");
          // 獲取Drive 對象
          fldr = fso.GetFolder("c:\\\\");
          // 顯示父目錄名稱
          alert("Parent folder name is: " + fldr + "\\n");
          // 顯示所在drive名稱
          alert("Contained on drive " + fldr.Drive + "\\n");
          // 判斷是否為根目錄
          if (fldr.IsRootFolder)
          alert("This is the root folder.");
          else
          alert("This folder isn\'t a root folder.");
          alert("\\n\\n");
          // 創(chuàng)建新文件夾
          fso.CreateFolder ("C:\\\\Bogus");
          alert("Created folder C:\\\\Bogus" + "\\n");
          // 顯示文件夾基礎(chǔ)名稱,不包含路徑名
          alert("Basename = " + fso.GetBaseName("c:\\\\bogus") + "\\n");
          // 刪除創(chuàng)建的文件夾
          fso.DeleteFolder ("C:\\\\Bogus");
          alert("Deleted folder C:\\\\Bogus" + "\\n");
          五、操作文件(Files)
          對文件進(jìn)行的操作要比以上介紹的驅(qū)動(dòng)器(Drive)和文件夾(Folder)操作復(fù)雜些,基本上分為以下兩個(gè)類別:對文件的創(chuàng)建、拷貝、移動(dòng)、刪除操作和對文件內(nèi)容的創(chuàng)建、添加、刪除和讀取操作。下面分別詳細(xì)介紹。
          (一)創(chuàng)建文件
          一共有3種方法可用于創(chuàng)建一個(gè)空文本文件,這種文件有時(shí)候也叫做文本流(text stream)。
          第一種是使用CreateTextFile方法。代碼如下:
          var fso, f1;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          f1 = fso.CreateTextFile("c:\\\\testfile.txt", true);
          第二種是使用OpenTextFile方法,并添加上ForWriting屬性,F(xiàn)orWriting的值為2。代碼如下:
          var fso, ts;
          var ForWriting= 2;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          ts = fso.OpenTextFile("c:\\\\test.txt", ForWriting, true);
          第三種是使用OpenAsTextStream方法,同樣要設(shè)置好ForWriting屬性。代碼如下:
          var fso, f1, ts;
          var ForWriting = 2;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          fso.CreateTextFile ("c:\\\\test1.txt");
          f1 = fso.GetFile("c:\\\\test1.txt");
          ts = f1.OpenAsTextStream(ForWriting, true);
          (二)添加數(shù)據(jù)到文件
          當(dāng)文件被創(chuàng)建后,一般要按照“打開文件->填寫數(shù)據(jù)->關(guān)閉文件”的步驟實(shí)現(xiàn)添加數(shù)據(jù)到文件的目的。
          打開文件可使用FileSystemObject對象的OpenTextFile方法,或者使用File對象的OpenAsTextStream方法。
          填寫數(shù)據(jù)要使用到TextStream對象的Write、WriteLine或者WriteBlankLines方法。在同是實(shí)現(xiàn)寫入數(shù)據(jù)的功能下,這3者的區(qū)別在于:Write方法不在寫入數(shù)據(jù)末尾添加新?lián)Q行符,WriteLine方法要在最后添加一個(gè)新?lián)Q行符,而WriteBlankLines則增加一個(gè)或者多個(gè)空行。
          關(guān)閉文件可使用TextStream對象的Close方法。
          (三)創(chuàng)建文件及添加數(shù)據(jù)例程
          下面的代碼將創(chuàng)建文件、添加數(shù)據(jù)、關(guān)閉文件幾個(gè)步驟結(jié)合起來進(jìn)行應(yīng)用:
          var fso, tf;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          // 創(chuàng)建新文件
          tf = fso.CreateTextFile("c:\\\\testfile.txt", true);
          // 填寫數(shù)據(jù),并增加換行符
          tf.WriteLine("Testing 1, 2, 3.") ;
          // 增加3個(gè)空行
          tf.WriteBlankLines(3) ;
          // 填寫一行,不帶換行符
          tf.Write ("This is a test.");
          // 關(guān)閉文件
          tf.Close();
          (四)讀取文件內(nèi)容
          從文本文件中讀取數(shù)據(jù)要使用TextStream對象的Read、ReadLine或ReadAll 方法。Read方法用于讀取文件中指定數(shù)量的字符;ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個(gè)內(nèi)容。讀取的內(nèi)容存放于字符串變量中,用于顯示、分析。在使用Read或ReadLine方法讀取文件內(nèi)容時(shí),如果要跳過一些部分,就要用到Skip或SkipLine方法。
          下面的代碼演示打開文件、填寫數(shù)據(jù),然后讀取數(shù)據(jù):
          var fso, f1, ts, s;
          var ForReading = 1;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          // 創(chuàng)建文件
          f1 = fso.CreateTextFile("c:\\\\testfile.txt", true);
          // 填寫一行數(shù)據(jù)
          f1.WriteLine("Hello World");
          f1.WriteBlankLines(1);
          // 關(guān)閉文件
          f1.Close();
          // 打開文件
          ts = fso.OpenTextFile("c:\\\\testfile.txt", ForReading);
          // 讀取文件一行內(nèi)容到字符串
          s = ts.ReadLine();
          // 顯示字符串信息
          alert("File contents = \'" + s + "\'");
          // 關(guān)閉文件
          ts.Close();
          (五)移動(dòng)、拷貝和刪除文件
          對于以上三種文件操作,javascript各有兩種對應(yīng)的方法:File.Move 或 FileSystemObject.MoveFile用于移動(dòng)文件;File.Copy 或 FileSystemObject.CopyFile用于拷貝文件;File.Delete 或 FileSystemObject.DeleteFile用于刪除文件。
          下面的代碼演示在驅(qū)動(dòng)器C的根目錄下創(chuàng)建一個(gè)文本文件,填寫一些內(nèi)容,然后將文件移動(dòng)到\\tmp目錄下,再在目錄\\temp下面建立一個(gè)文件拷貝,最后刪除這兩個(gè)目錄的文件:
          var fso, f1, f2, s;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          f1 = fso.CreateTextFile("c:\\\\testfile.txt", true);
          // 寫一行
          f1.Write("This is a test.");
          // 關(guān)閉文件
          f1.Close();
          // 獲取C:\\根目錄下的文件句柄
          f2 = fso.GetFile("c:\\\\testfile.txt");
          // 移動(dòng)文件到\\tmp目錄下
          f2.Move ("c:\\\\tmp\\\\testfile.txt");
          // 拷貝文件到\\temp目錄下
          f2.Copy ("c:\\\\temp\\\\testfile.txt");
          // 獲取文件句柄
          f2 = fso.GetFile("c:\\\\tmp\\\\testfile.txt");
          f3 = fso.GetFile("c:\\\\temp\\\\testfile.txt");
          // 刪除文件
          f2.Delete();
          f3.Delete();
          六、結(jié) 語
          通過以上對FileSystemObject的各種對象、屬性和方法的介紹和示例,相信你已經(jīng)對如何使用javascript語言在頁面中操作驅(qū)動(dòng)器、文件和文件夾有了清晰的認(rèn)識。但是上述提及的例程都非常簡單,要全面、靈活地掌握javascript文件操作技術(shù),還需要大量的實(shí)踐練習(xí)。而且還有一點(diǎn)提醒大家,由于涉及到在瀏覽器中進(jìn)行文件讀寫這樣的高級操作,對于默認(rèn)的瀏覽器安全級別而言,在代碼運(yùn)行前都會(huì)有一個(gè)信息提示,這點(diǎn)請?jiān)趯?shí)際環(huán)境中提示訪問者注意。
          <
          posted on 2006-12-01 10:29 智者無疆 閱讀(1953) 評論(7)  編輯  收藏 所屬分類: Client teachnolgy research
          評論:
          • # re: Javascript-文件操作  智者無疆 Posted @ 2006-12-01 10:31
            使用JavaScript對XML文件進(jìn)行讀寫
            以學(xué)生信息為例子。
            用到了3個(gè)文件studentINFO.html,studentinfo.xml,studentinfoNew.xml

            studentinfo.xml---學(xué)生信息
            <?xml version="1.0"?>
            <studentlist>
            <student>
            <id>213</id>
            <name>asd</name>
            <age>sdf</age>
            </student>
            <student>
            <id>rfwer</id>
            <name></name>
            <age></age>
            </student></studentlist>

            studentinfoNew.xml---新添加的空的學(xué)生信息模版
            <?xml version="1.0" encoding="gb2312"?>
            <studentlist>
            <student>
            <id></id>
            <name></name>
            <age></age>
            </student>
            </studentlist>

            studentINFO.html---增刪改的用戶UI
            <HTML><BODY bgColor=#a1bae6>
            <XML id=xmldso src="studentinfo.xml"></XML>
            <XML id=studentinfoNew></XML> <!--加?xml數(shù)據(jù)-->
            <SCRIPT Language=JavaScript>
            studentinfoNew.async = false;
            studentinfoNew.load("studentinfoNew.xml");

            function display(){
            var doc=xmldso.XMLDocument;
            alert(doc.xml);
            }

            function save(){
            try{
            var doc=xmldso.XMLDocument;
            alert(doc.xml);
            var strFile="";
            var fso, f, ts;
            var s="E:\\習(xí)う\\XML\\javascript_ReadWriteXML\\studentinfo.xml";
            var ForReading = 1, ForWriting = 2, ForAppending = 8;
            var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0;
            fso = new ActiveXObject("Scripting.FileSystemObject");
            if(!fso.FileExists(s)){
            alert(s+" is not exist!");
            }else{
            f = fso.GetFile(s);
            ts = f.OpenAsTextStream(ForWriting, TristateUseDefault);
            ts.WriteLine(doc.xml);
            ts.Close( );
            }
            }catch(e){
            alert(e);
            }

            }

            //增加??;
            function addID(){
            var doc=xmldso.XMLDocument;
            var rootnode=doc.documentElement;
            var sortNode = rootnode.selectNodes("//id");
            var currentid = sortNode.length-1;
            var cc="";
            if(currentid==-1){
            var node= studentinfoNew.documentElement.childNodes(0).cloneNode(true);
            xmldso.documentElement.appendChild(node);
            }else{
            cc=sortNode.item(currentid).text;
            if ((cc=="aa")||(cc=="")){
            alert("?將最后一行數(shù)據(jù)填寫完?后再增加新的??!");
            }else{
            var node= studentinfoNew.documentElement.childNodes(0).cloneNode(true);
            xmldso.documentElement.appendChild(node);
            }
            }
            }
            //?除??
            function delID(whichFld){
            var doc=xmldso.XMLDocument;
            var rootnode=doc.documentElement;
            var sortNode = rootnode.selectNodes("//student");
            if(sortNode.length==1){
            alert("can not do delete when there is only 1 record");
            return;
            }

            var sortNode = xmldso.selectSingleNode("//student/id[text()='"+whichFld+"']");
            try{
            sortNode.parentNode.parentNode.removeChild(sortNode.parentNode);
            }catch(e){
            }
            }
            </SCRIPT>

            <center><b>student-studentlist</b><br><br>
            <TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3>
            <!--?行數(shù)據(jù)?定-->
            <THEAD><TH>ID</TH><TH>id</TH><TH>name</TH><TH>age</TH></THEAD>
            <TR>
            <TD><acronym title='點(diǎn)?即可?除???'><INPUT TYPE=button size=4 DATAFLD="id" onclick="delID(this.value)"></acronym></TD>
            <TD><INPUT TYPE=TEXT DATAFLD="id"></TD>
            <TD><INPUT TYPE=TEXT DATAFLD="name"></TD>
            <TD><INPUT TYPE=TEXT DATAFLD="age"></TD>
            </TR>
            </TABLE>
            <INPUT TYPE=BUTTON name=dd id=dd VALUE="add" onclick="addID();">
            <INPUT TYPE=BUTTON name=cc id=cc VALUE="save" onclick="save()">
            <INPUT TYPE=BUTTON name=ee id=ee VALUE="display" onclick="display()"></center></BODY></HTML>


              回復(fù)  更多評論   

          • # re: Javascript-文件操作  self Posted @ 2006-12-01 14:04
            當(dāng)js不能創(chuàng)建文件對象時(shí),可以在運(yùn)行中運(yùn)行regsvr32 scrrun.dll,來啟用這個(gè)程序,
            如果還不行,在ie的安全級別里設(shè)置中級即可。  回復(fù)  更多評論   

          • # re: Javascript-文件操作  self Posted @ 2006-12-01 16:06
            下面是我寫的一個(gè)js讀寫文件程序:
            1.<!-- &copy;zhanglijun 2006-12-1
            任務(wù):js創(chuàng)建文件,寫入數(shù)據(jù),并讀出數(shù)據(jù)
            增加數(shù)據(jù),修改數(shù)據(jù),刪除數(shù)據(jù)。
            -->
            <html>
            <head>
            <title>jsIO</title>
            </head>
            <script type="text/javascript"src="fileIO.js" ></script>
            <body ><p align="center">
            指定文件夾:<input type="text"id="path"/><br>
            文件名稱:
            <input type=text id="name" /><br>
            文件內(nèi)容:
            <textarea id="content" width=20px height=35px></textarea><br>
            <input type=button value="創(chuàng)建" onclick="return createfile();"/>
            <input type=button value="讀數(shù)據(jù)" onclick="return readfile();"/>
            <br><br><br><br><br><br><br><br><br><br><br><br><br>
            請先在運(yùn)行中運(yùn)行regsvr32 scrrun.dll<br>
            然后在ie的安全-->自定義級別里-->重置為-->選擇中級
            </p>
            </body>
            2 fileIO.js
            /*
            *js 文件讀寫模塊 by zhanglijun 2006-12-1
            */


            function createfile(){
            if(check()==false)return false;
            var name=document.getElementById("name").value;
            var name1=name.split(".");
            if(name1[1]==undefined)name=name+".txt";
            //alert(name);
            pathAndName=document.getElementById("path").value+name;
            //alert(pathAndName);
            var fso=new ActiveXObject("Scripting.FileSystemObject");
            var f1=fso.createTextFile(pathAndName);
            if(!f1)alert("文件創(chuàng)建失敗");
            else alert("文件成功創(chuàng)建,下面繼續(xù)寫入內(nèi)容");
            f1.Write(document.getElementById("content").value);
            if(f1.read()!="")alert("內(nèi)容已經(jīng)寫入");
            f1.close();
            }

            function readfile(){
            if(checkRead()==false)return false;
            var name=document.getElementById("name").value;
            var name1=name.split(".");
            if(name1[1]==undefined)name=name+".txt";
            //alert(name1[1]);
            pathAndName=document.getElementById("path").value+name;
            //alert(pathAndName);
            var fso=new ActiveXObject("Scripting.FileSystemObject");
            var f2
            try{
            f2=fso.openTextFile(pathAndName);
            }catch(e){alert(name+"沒找到");}
            var a="";
            while (!f2.AtEndOfStream){
            a += f2.ReadLine( );}
            f2.Close( );
            content.innerHTML=a;
            alert("它的位置在"+pathAndName);
            }
            function check(){
            if(document.getElementById("name").value==""||document.getElementById("content").value=="")
            {alert("文件名和內(nèi)容都不能為空!");
            document.getElementById("name").focus(); return false;}

            }function checkRead(){
            if(document.getElementById("name").value=="")
            {alert("文件名和內(nèi)容都不能為空!");
            document.getElementById("name").focus(); return false;}

            }
            function changeSrc(filePicker)
            {
            oFileChecker.src = filePicker.value;
            }
            </html>  回復(fù)  更多評論   

          • # re: Javascript-文件操作  self Posted @ 2006-12-01 16:40
            利用js fso對象寫xml文件
            <html><head>
            <title>oprateXML</title>
            </head>
            <script type="text/javascript">
            <!--
            function createXml(){

            var fso, tempfolder, xmlfile, schar;
            fso = new ActiveXObject("Scripting.FileSystemObject");
            xmlfile = fso.CreateTextFile("C:\\test2.XML",true,true);
            schar = '\r';
            xmlfile.WriteLine('<?xml version="1.0" encoding="UTF-16" ?>'+schar);
            xmlfile.WriteLine('<document title="information">'+schar);
            for(var i=0;i<10;i++){
            xmlfile.WriteLine('<xmlnode type="node" name="node'+i+'" />'+schar);
            }
            xmlfile.WriteLine('</document>');
            xmlfile.Close();
            }
            --></script>
            <body>
            <input type="button" value="寫xml文件" onclick="createXml()"/>
            </body>
            </html>
            結(jié)果如下:
            <?xml version="1.0" encoding="UTF-16" ?>
            - <document title="information">
            <xmlnode type="node" name="node0" />
            <xmlnode type="node" name="node1" />
            <xmlnode type="node" name="node2" />
            <xmlnode type="node" name="node3" />
            <xmlnode type="node" name="node4" />
            <xmlnode type="node" name="node5" />
            <xmlnode type="node" name="node6" />
            <xmlnode type="node" name="node7" />
            <xmlnode type="node" name="node8" />
            <xmlnode type="node" name="node9" />
            </document>  回復(fù)  更多評論   

          • # re: Javascript-文件操作  智者無疆 Posted @ 2006-12-05 23:07
            js控制播放器

            時(shí)間:[2006-9-4 14:14:20]     作者:請作者盡快與我們聯(lián)系。


            --------------------------------------------------------------------------------


            <OBJECT ID='media1' CLASSID='CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6'>
            <!--URL是播放地址,現(xiàn)在的地址可能不能用,可以換一個(gè)RM音樂地址進(jìn)行測試-->
            <PARAM NAME='URL' value='rtsp://61.172.195.147/請用qq163.com聽歌567/188ss8如果不能試聽請用qq163.com訪問99/KISSYKISSY-REMIX.rm'>
            <PARAM NAME='rate' value='-1'>
            <PARAM NAME='balance' value='0'>
            <PARAM NAME='currentPosition' value='0'>
            <PARAM NAME='defaultFrame' value=''>
            <PARAM NAME='playCount' value=' & temp1 & '>
            <PARAM NAME='autoStart' value='-1'>
            <PARAM NAME='currentMarker' value='0'>
            <PARAM NAME='invokeURLs' value='-1'>
            <PARAM NAME='baseURL' value=''>
            <PARAM NAME='volume' value=' & temp2 & '>
            <PARAM NAME='mute' value='0'>
            <PARAM NAME='uiMode' value='full'>
            <PARAM NAME='stretchToFit' value='0'>
            <PARAM NAME='windowlessVideo' value='0'>
            <PARAM NAME='enabled' value='-1'>
            <PARAM NAME='enableContextMenu' value='0'>
            <PARAM NAME='fullScreen' value='0'></OBJECT>

            <input type='button' value='播放' onclick='media1.Controls.play()'>
            <input type='button' value='暫停' onclick='media1.Controls.pause()'>
            <input type='button' value='停止' onclick='media1.Controls.stop()'>

            <!--以下這兩個(gè)就靠大家了,MEDIA1肯定有某個(gè)屬性或方法可以返回的,可我不知道-->
            <input type='button' value='獲得總長度' onclick='alert("不知MEDIA1哪個(gè)對象可以返回影片的長度或總時(shí)間")'>
            <input type='button' value='獲得當(dāng)前播放進(jìn)度' onclick='alert("不知MEDIA1哪個(gè)對象可以返回當(dāng)前播放進(jìn)度或以播放了多長時(shí)間?")'>

            如果各位不知道,或知道有此類功能的網(wǎng)頁MEDIA播放器的話告訴我地址也可以,謝謝.



            media player控制

            player.controls.play(); 播放
            player.controls.stop(); 停止
            player.controls.pause(); 暫停
            player.controls.currentPosition 返回播放文件的當(dāng)前時(shí)間位置(以秒為單位)
            player.controls.currentPositionString 時(shí)間格式的字符串 "0:32"
            player.currentMedia.duration 返回播放文件的總長度(以秒為單位)
            player.currentMedia.durationString 時(shí)間格式的字符串 "4:34"
            player.settings.volume 音量 (0-100)
            player.settings.balance 聲道,通過它應(yīng)該可以進(jìn)行立體聲、左聲道、右聲道的控制。但對應(yīng)的取值尚不清楚。
            player.settings.mute = s 靜音(s取值為true和false)
            player.closedCaption.CaptioningID 網(wǎng)頁中出現(xiàn)字幕的容器的ID
            player.closedCaption.SAMIFileName 字幕文件地址
            player.playState 返回播放器狀態(tài)( 3:正在播放,2:暫停1:已停止)


            ======================================================

            REAL PLAYER控制


            player.DoPlay() 播放
            player.DoPause() 暫停
            player.DoStop() 停止
            player.GetLength() 返回播放文件的總長度(以毫秒為單位)
            player.GetPosition() 返回播放文件的當(dāng)前時(shí)間位置(以毫秒為單位)
            player.GetPlayState() 返回播放器狀態(tài)(0:停止,1:連接,2:緩沖,3:播放,4:暫停,5:尋找)
            player.SetPosition(n) 時(shí)間位置跳到n的地方(n取值以毫秒為單位)
            player.SetVolume(n) 設(shè)置音量(n取值為0到100)
            player.SetMute(s) 靜音(s取值為true和false)
            player.SetFullScreen() 全屏
            player.setSource() 設(shè)置文件來源



            <table width="229" border="0" cellspacing="1" bgcolor="#FFFFFF">
            <tr>
            <td align="center">
            <img src="images/left001.jpg" width="229" />
            <EMBED src="http://www.canhey.com/video/cfdwb.rm" width=220 height=210 type=audio/x-pn-realaudio-plugin console="Clip1" controls="IMAGEWINDOW,ControlPanel,StatusBar" autostart="true" NAME="video" ID="video" >
            </td>
            </tr>
            </table>
            <script>
            function player(id){
            video.DoStop()
            video.setSource(id)
            video.DoPlay()
            }
            </script>
            <table width="101%" border="0" cellspacing="0" cellpadding="0">
            <tr>
            <td width="227" height="93" align="center" bgcolor="#FFFFFF"><table width="98%" border="0" cellspacing="3" cellpadding="0">
            <tr align="center">
            <td><a href="#" onclick="player(' <td><a href="#" onclick="player(' </tr>
            <tr align="center">
            <td><a href="#" onclick="player('
            <td><a href="#" onclick="player(' </tr>
            <tr align="center">
            <td><a href="#" onclick="player('
            <td><a href="#" onclick="player(' </tr>
            </table></td>
            </tr>
            </table>

              
            回復(fù)  更多評論   

          • # re: Javascript-文件操作  self Posted @ 2006-12-06 11:42
            window.top.main.iframeCondition.document.location.href =
            this.conditionSrc;
            可實(shí)現(xiàn)對某框架iframe內(nèi)容動(dòng)態(tài)變換。  回復(fù)  更多評論   

          • # re: Javascript-文件操作  self Posted @ 2006-12-06 12:52
            MediaPlayer播放器的使用
            <!-- 作者: 張立軍 版本: 1.0, 描述: windows media MediaPlayer -->
            <html>
            <head>
            <!-- 禁止頁面被緩存 -->
            <meta http-equiv="Pragma" CONTENT="no-cache">
            <meta http-equiv="Expires" CONTENT="0">
            <meta http-equiv="Cache-Control" CONTENT="no-cache">
            </head>

            <body bgcolor="#FFCCFF" onunload="javascript:stopPlayer();">
            <p align="center">
            <br><br><br><br><br><br><br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;
            <object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"
            id="MediaPlayer" width="500" height="500">
            <param name="rate" value="1">
            <param name="balance" value="0">
            <param name="currentPosition" value="0">
            <param name="defaultFrame" value>
            <param name="playCount" value="100">
            <param name="autoStart" value="1">
            <param name="currentMarker" value="0">
            <param name="invokeURLs" value="-1">
            <param name="baseURL" value>
            <param name="volume" value="50">
            <param name="mute" value="0">
            <param name="uiMode" value="full">
            <param name="stretchToFit" value="0">
            <param name="windowlessVideo" value="0">
            <param name="enabled" value="-1">
            <param name="enableContextMenu" value="-1">
            <param name="fullScreen" value="0">
            <param name="SAMIStyle" value>
            <param name="SAMILang" value>
            <param name="SAMIFilename" value>
            <param name="captioningID" value>
            <param name="enableErrorDialogs" value="0">
            <param name="_cx" value="6482">
            <param name="_cy" value="6350">
            <param name="Filename" value="">
            <param name="URL" value="">
            </object>



            <br>
            <input type="file" id="path"/><br><input type="button" value="確定" onclick="javascript:play()"/>
            </p> </body>

            </html>

            <script>
            <!--
            // 播放節(jié)目
            function play() {

            MediaPlayer.URL = document.getElementById("path").value;
            // MediaPlayer.controls.currentPosition=sp;
            MediaPlayer.controls.play();
            }

            // 停止播放器的播放
            function stopPlayer() {
            MediaPlayer.controls.stop();
            }
            // -->
            </script>
              回復(fù)  更多評論   

           
          Copyright © 智者無疆 Powered by: 博客園 模板提供:滬江博客


             觀音菩薩贊

          主站蜘蛛池模板: 宁强县| 合江县| 华坪县| 永平县| 西充县| 景宁| 鄂伦春自治旗| 蓬溪县| 定陶县| 肥东县| 广丰县| 宝丰县| 连山| 衡阳市| 齐齐哈尔市| 泽普县| 鹤庆县| 兴和县| 合江县| 苏尼特左旗| 无极县| 日照市| 温泉县| 黑龙江省| 陕西省| 正镶白旗| 南昌县| 石门县| 新郑市| 兴安县| 盐亭县| 色达县| 民勤县| 安新县| 定襄县| 托克逊县| 德江县| 青岛市| 临西县| 仁寿县| 吉安县|