<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    acerbic coffee
    走自己的路,讓別人跑步
    posts - 26,comments - 14,trackbacks - 0
    web中,如何讀取客戶端Word內容并且顯示在頁面中?

      我發現有2種方法,一種是直接在客戶端操作,一種是把客戶端的word上傳到服務器端操作,這2種各有優缺點。

      我現就舉出客戶端操作的例子

      首先在.aspx中添加如下js代碼

    <script language='javascript'>

    //默認word轉化文件放于C:\\下
    var os__localPath = "C:\\";
    //保存的文件名
    var os__localFile = "defaultFileWord.htm";
    var os__xmlDom = new ActiveXObject("MSXML2.DOMDocument");
    var os__xmlFSO ;

    //保存數據到當前客戶端(可以傳入一個要保存的文件名).
    function os_SaveToLocal()
    {
    var _saveAs = "";
    if(arguments.length > 0)
    _saveAs = arguments[0] + "";
    else
    _saveAs = os__localFile;

    try
    {
    if(os__xmlFSO == null)
    os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");

    }
    catch(e){window.alert(e);}
    }

    //Word轉化為Html文件
    function WorcChangeHtml()
    {
    var os_xmlFSO;
    //獲得上傳控件對象
    var objUpFile = window.document.Form1.updFile;
    //獲得客戶端Word文件路徑和文件
    var UpFileValue = window.document.Form1.updFile.value;
    if(os__xmlFSO == null)
    os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");

    try
    {
    if(window.document.Form1.updFile.value == "")
    {
    alert('請選擇對應的Word文件');
    objUpFile.focus();
    }
    else if(UpFileValue.indexOf(".doc") == -1)
    {
    alert('您選擇的不是Word文件 \r\n請選擇正確的Word文件');
    objUpFile.focus();
    }
    else if(!os__xmlFSO.FileExists(objUpFile.value))
    {
    alert('對應的Word文件不存在');
    objUpFile.focus();
    }
    else
    {
    var wdFormatHTML = 8;
    var objWord = new ActiveXObject("Word.Application");
    objWord.Application.Visible = false;
    var objDoc = objWord.Documents.Open(UpFileValue);
    objDoc.SaveAs(os__localPath+os__localFile, wdFormatHTML);
    window.document.Form1.updFile.value = "";
    objDoc.Close();
    objWord.Quit();
    var GetHtml = GetLine();
    var iBeginIndex = GetHtml.indexOf("<body");
    var iEndIndex = GetHtml.lastIndexOf("</body>");


    GetHtml = GetHtml.substring(iBeginIndex,iEndIndex+7).replace("<body","<div");
    GetHtml = GetHtml.replace("</body>","</div>");
    //將轉化后的值賦給頁面控件txtIdea的值,我為了將Word值保存進數據庫所以用<input type = "hidden" ..... 如果將Word內容顯示可以考慮 window.document.Form1."你的顯示控件ID".innerText = GetHtml;
    window.document.Form1.txtIdea.value = GetHtml;
    }
    }
    catch(e){window.alert(e);}
    }

    //讀取文本文件
    function GetLine()
    {
    var fso, txtfile, strValue;
    var ForReading = 1, ForWriting = 2;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    txtfile = fso.OpenTextFile(os__localPath+os__localFile, ForReading);
    while(!txtfile.AtEndOfStream)
    {
    strValue = strValue + txtfile.ReadLine();
    }
    txtfile.Close();
    return(strValue);
    }

    </script>

      注意頁面上需要添加以下2個控件和對應的客戶端事件

    <input id="updFile" type="file" style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; WIDTH: 77.46%; BORDER-BOTTOM: 1px solid; HEIGHT: 26px"
    size="71"> <input style="BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; FONT-SIZE: 15pt; BORDER-LEFT: #999999 1px solid; WIDTH: 103px; BORDER-BOTTOM: #999999 1px solid; HEIGHT: 28px"
    onclick="WorcChangeHtml()" runat="server" id="btnUpLoad" type="submit" value="導入" name="btnUpLoad">
    <textarea style="WIDTH: 15.25%; HEIGHT: 23px" rows="50" cols="16" id="txtIdea"
    runat="server">

      其中txtIdea中的值就是客戶端Word中的內容了,注意:需要調整IE的安全性設置,否則將無效

    添加評論
    單擊隱藏此項的評論。
    6月21日

    CSS中expression使用簡介

    IE5及其以后版本支持在CSS中使用expression,用來把CSS屬性和Javas cript表達式關聯起來,這里的CSS屬性可以是元素固有的屬性,也可以是自定義屬性。就是說CSS屬性后面可以是一段Javas cript表達式,CSS屬性的值等于Javas cript表達式計算的結果。 在表達式中可以直接引用元素自身的屬性和方法,也可以使用其他瀏覽器對象。這個表達式就好像是在這個元素的一個成員函數中一樣。

      給元素固有屬性賦值

      例如,你可以依照瀏覽器的大小來安置一個元素的位置。

    #myDiv {
    position: absolute;
    width: 100px;
    height: 100px;
    left: expression(document.body.offsetWidth - 110 "px");
    top: expression(document.body.offsetHeight - 110 "px");
    background: red;
    }

      給元素自定義屬性賦值

      例如,消除頁面上的鏈接虛線框。 通常的做法是:

    <a href="link1.htm" onfocus="this.blur()">link1</a>
    <a href="link2.htm" onfocus="this.blur()">link2</a>
    <a href="link3.htm" onfocus="this.blur()">link3</a>

      粗看或許還體現不出采用expression的優勢,但如果你的頁面上有幾十甚至上百個鏈接,這時的你難道還會機械式地Ctrl C,Ctrl V么,何況兩者一比較,哪個產生的冗余代碼更多呢?

      采用expression的做法如下:

    <style type="text/css">
    a {star : expression(onfocus=this.blur)}
    </style>
    <a href="link1.htm">link1</a>
    <a href="link2.htm">link2</a>
    <a href="link3.htm">link3</a>

      說明:里面的star就是自己任意定義的屬性,你可以隨自己喜好另外定義,接著包含在expression()里的語句就是JS腳本,在自定義屬性與expression之間可別忘了還有一個引號,因為實質還是CSS,所以放在style標簽內,而非s cript內。OK,這樣就很容易地用一句話實現了頁面中的鏈接虛線框的消除。不過你先別得意,如果觸發的特效是CSS的屬性變化,那么出來的結果會跟你的本意有差別。例如你想隨鼠標的移進移出而改變頁面中的文本框顏色更改,你可能想當然的會認為應該寫為

    <style type="text/css">
    input
    {star : expression(onmouseover=this.style.backgroundColor="#FF0000";
    onmouseout=this.style.backgroundColor="#FFFFFF")}
    </style>
    <style type="text/css">
    input {star : expression(onmouseover=this.style.backgroundColor="#FF0000";
    onmouseout=this.style.backgroundColor="#FFFFFF")}
    </style>
    <input type="text">
    <input type="text">
    <input type="text">

      可結果卻是出現腳本出錯,正確的寫法應該把CSS樣式的定義寫進函數內,如下所示:

    <style type="text/css">
    input {star : expression(onmouseover=function()
    {this.style.backgroundColor="#FF0000"},
    onmouseout=function(){this.style.backgroundColor="#FFFFFF"}) }
    </style>
    <input type="text">
    <input type="text">
    <input type="text">

    添加評論
    單擊隱藏此項的評論。

    巧用CSS的RevealTrans濾鏡

    CSS的RevealTrans動態濾鏡是一個神奇的濾鏡,它能產生23種動態效果,更為奇妙的是它還能在23種動態效果中隨機抽用其中的一種。用它來進行網頁之間的動態切換,簡直方便極了,你只要在網頁源代碼的< head >與< /head >之間插入這樣一行代碼:< Meta content=revealTrans(Transition=14,Duration=3.0) http-equiv=Page-enter >,當你進入這個頁面時,網頁將象拉幕一樣從中間向兩邊拉開,是不是別具一格?!
      RevealTrans濾鏡只有兩個參數,Duration:是切換時間,以秒為單位;Transition:是切換方式,它有24種方式,詳見下表:
    										切換效果   Transition參數值      切換效果       Transition參數值 
    矩形從大至小      0              隨機溶解            12 
    矩形從小至大      1            從上下向中間展開      13 
    圓形從大至小      2            從中間向上下展開      14 
    圓形從小至大      3            從兩邊向中間展開      15 
    向上推開          4            從中間向兩邊展開      16 
    向下推開          5            從右上向左下展開      17 
    向右推開          6            從右下向左上展開      18 
    向左推開          7            從左上向右下展開      19 
    垂直形百葉窗      8            從左下向右上展開      20 
    水平形百葉窗      9              隨機水平細紋        21 
    水平棋盤          10             隨機垂直細紋        22 
    垂直棋盤          11            隨機選取一種特效     23 
    								
    										1、制作一個Revealtrans濾鏡,取名為“mytrans",其制作方法與前面介紹的靜態濾鏡相同,參數值為Transition=12,Duration=2。設置好后,在網頁源代碼的< head >與< /head >之間將有下面這樣的代碼:
    < style type="text/css" >
    < !--
    .mytrans { filter:revealTrans(Transition=12,Duration=2)}
    -- >
    < /style >
      2、插入一個層,我們把層的“Layer ID”改為“div1”(可直接在層的屬性面板上加入即可),并設置好層的背景和調整好層的大小,并把Revealtrans濾鏡加載到到層上,這時你看到的層的標記代碼是這樣的:< div id="div1" style="position:absolute; width:680px; height:30px; z-index:37; background: #FFFFCC; layer-background-color: #FFFFCC; border: 1px none #000000" class="mytrans" >< /div >
      3、在網頁源代碼的< head >與< /head >之間插入下面這段Javascript程序:
      < script language="JavaScript" >
      < !--
      function HelpArray(len)
      {
      this.length=len;
      }
      // 建立一個數組,存放轉換的內容。
      HelpText=new HelpArray(5);
      HelpText[0]="在一個文檔使用動態轉換的濾鏡(Revealtrans)其實是很容易的。";
      HelpText[1]="首先,為對象的樣式表單建立一個需要轉換的“Revaltrans"濾鏡,";
      HelpText[2]="然后,使用“apply()"方法防止錯誤,";
      HelpText[3]="現在,你可以改變任何你想改變的東西,";
      HelpText[4]="最后,“play()"方法開始進行轉換。";
      ScriptText=new HelpArray(5);
      var i= -1;
      // 顯示轉換效果
      function playHelp()
      {
      if (i==4)
      { i=0 ;}
      else
      { i++; }
      div1.filters[0].apply();
      div1.innerText=HelpText[i];
      div1.filters[0].play();
      // 設置每段字幕演示的時間,以毫秒計。這里的時間要長于濾鏡中的時間,以保證在轉換結束后能停留一段時間。
      // 以方便看清楚字幕內容。在本例中字幕演示的時間是6秒,濾鏡中設置的轉換時間是2秒。
      mytimeout=setTimeout("playHelp()",6000);
      }
      -- >
      < /script >
      4、在網頁的源代碼的< body >中加入這樣一句代碼:onload="playHelp()"。
    posted on 2006-10-22 10:52 acerbic coffee 閱讀(1593) 評論(0)  編輯  收藏 所屬分類: 個人記錄
    主站蜘蛛池模板: 日韩在线观看视频免费| 最近免费中文字幕mv在线电影| 精品熟女少妇AV免费观看| 久久久久久久亚洲Av无码| 亚洲AV成人影视在线观看| 精品成在人线AV无码免费看 | 免费看少妇作爱视频| 国产成人综合亚洲AV第一页 | 亚洲国产成人私人影院| 国产精品视频白浆免费视频| 久久亚洲精品成人综合| 日韩人妻一区二区三区免费| 亚洲视屏在线观看| 91在线视频免费播放| 亚洲av无码片在线播放| 69视频免费观看l| 亚洲ts人妖网站| 国产jizzjizz免费视频| 一级毛片a女人刺激视频免费| 国产亚洲精品成人a v小说| 热久久这里是精品6免费观看| 久久久久久亚洲av成人无码国产| 四虎在线视频免费观看视频| 77777亚洲午夜久久多喷| 免费国产成人午夜私人影视 | 亚洲电影免费观看| 亚洲av成人一区二区三区在线播放 | 亚洲一区二区三区丝袜| 久久久久高潮毛片免费全部播放| 亚洲欧洲在线观看| 国外成人免费高清激情视频| av电影在线免费看| 亚洲成a人片在线观看播放| 日本免费污片中国特一级| 亚洲免费视频网址| 亚洲狠狠爱综合影院婷婷| 最近中文字幕电影大全免费版 | 亚洲AV综合色区无码一区爱AV | 亚洲AV无码一区二区二三区软件| 我的小后妈韩剧在线看免费高清版 | 处破痛哭A√18成年片免费|