• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            We do not always find visible happiness in proportion to visible virtue

            夢(mèng)幻白樺林

            SHARE

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              14 Posts :: 58 Stories :: 62 Comments :: 0 Trackbacks

            公告

            常用鏈接

            留言簿(5)

            搜索

            •  

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            一、建立網(wǎng)頁(yè)
            ?1?<html>
            ?2?<head>
            ?3????????<meta?http-equiv="Content-Language"?content="zh-cn">
            ?4????????<script?language="javascript"?type="text/javascript">
            ?5???????????????<!--?提供給C#程序調(diào)用的方法?-->
            ?6????????????? function?messageBox(message)
            ?7????????????? {
            ?8?????????????????????alert(message);
            ?9??????????????}
            10????????</script>
            11?</head>
            12?
            13?<body>
            14????????<!--?調(diào)用C#方法?-->
            15????????<button?onclick="window.external.MyMessageBox('javascript訪問(wèn)C#代碼')"?>
            16????????javascript訪問(wèn)C#代碼</button>
            17?</body>
            18?</html>

            二、建立Windows應(yīng)用程序

            1.?????? 創(chuàng)建Windows應(yīng)用程序項(xiàng)目

            2.?????? Form1窗體中添加WebBrowser控件

            3.?????? Form1類的上方添加

            [System.Runtime.InteropServices.ComVisibleAttribute(true)]

            這是為了將該類設(shè)置為com可訪問(wèn)。如果不進(jìn)行該聲明將會(huì)出錯(cuò)。出錯(cuò)信息如下圖所示:

            ?

            如:

            [System.Runtime.InteropServices.ComVisibleAttribute(true)]

            publicpartialclassForm1 : Form

            ?

            4.初始化WebBrowserUrlObjectForScripting兩個(gè)屬性。

            Url屬性:WebBrowser控件顯示的網(wǎng)頁(yè)路徑

            ObjectForScripting屬性:該對(duì)象可由顯示在WebBrowser控件中的網(wǎng)頁(yè)所包含的腳本代碼訪問(wèn)。

            Url屬性設(shè)置為需要進(jìn)行操作的頁(yè)的URL路徑。

            JavaScript通過(guò)window.external調(diào)用C#公開(kāi)的方法。即由ObjectForScripting屬性設(shè)置的類的實(shí)例中所包含的公共方法。具體設(shè)置例子如下:

            System.IO.FileInfo file = new System.IO.FileInfo("index.htm");

            // WebBrowser控件顯示的網(wǎng)頁(yè)路徑

            webBrowser1.Url = newUri(file.FullName);

            // 將當(dāng)前類設(shè)置為可由腳本訪問(wèn)

            webBrowser1.ObjectForScripting = this;

            ?

            5C#調(diào)用JavaScript方法

            通過(guò)WebBrowser類的Document屬性中的InvokeScript方法調(diào)用當(dāng)前網(wǎng)頁(yè)的Javascript方法。如:

            // 調(diào)用JavaScriptmessageBox方法,并傳入?yún)?shù)

            object[] objects = newobject[1];

            objects[0] = "C#訪問(wèn)JavaScript腳本";

            webBrowser1.Document.InvokeScript("messageBox", objects);

            ?

            完整代碼如下:

            ?1?[System.Runtime.InteropServices.ComVisibleAttribute(true)]
            ?2?
            ?3?public?partial?class?Form1?:?Form
            ?4?
            ?5?{
            ?6?
            ?7?????public?Form1()
            ?8?
            ?9?????{
            10?
            11?????????InitializeComponent();
            12?
            13?????????System.IO.FileInfo?file?=?new?System.IO.FileInfo("index.htm");
            14?
            15?????????//?WebBrowser控件顯示的網(wǎng)頁(yè)路徑
            16?
            17?????????webBrowser1.Url?=?new?Uri(file.FullName);
            18?
            19?????????//?將當(dāng)前類設(shè)置為可由腳本訪問(wèn)
            20?
            21?????????webBrowser1.ObjectForScripting?=?this;
            22?
            23?????}
            24?
            25??
            26?
            27?????private?void?button1_Click(object?sender,?EventArgs?e)28?
            29???? {
            30?
            31?????????//?調(diào)用JavaScript的messageBox方法,并傳入?yún)?shù)
            32?
            33?????????object[]?objects?=?new?object[1];
            34?
            35?????????objects[0]?=?"C#訪問(wèn)JavaScript腳本";
            36?
            37?????????webBrowser1.Document.InvokeScript("messageBox",?objects);
            38?
            39?????}
            40?
            41?????//?提供給JavaScript調(diào)用的方法
            42?
            43?????public?void?MyMessageBox(string?message)44?
            45?????{
            46?
            47?????????MessageBox.Show(message);
            48?????}
            49?}
            50?

            posted on 2007-03-18 14:06 colys 閱讀(2127) 評(píng)論(5)  編輯 收藏 引用 所屬分類: C#.Net

            Feedback

            # re: JavaScript與C# Windows應(yīng)用程序交互 2008-10-05 17:01 2323
            TMD
            不會(huì)就不要寫
            在網(wǎng)上復(fù)制有用么  回復(fù)  更多評(píng)論
              

            # re: JavaScript與C# Windows應(yīng)用程序交互[未登錄](méi) 2008-10-11 15:34 colys
            你說(shuō)的是沒(méi)錯(cuò),是在網(wǎng)上復(fù)制的,但同時(shí)別人也多了一個(gè)途徑可以看到,并且,內(nèi)容是真實(shí)的,本人當(dāng)然是用過(guò)才會(huì)放上去的!  回復(fù)  更多評(píng)論
              

            # re: JavaScript與C# Windows應(yīng)用程序交互 2009-12-17 20:08 ndaye
            @2323
              回復(fù)  更多評(píng)論
              

            # re: JavaScript與C# Windows應(yīng)用程序交互 2009-12-17 20:10 lkj
            雖然人家是復(fù)制的,但是我看著很好,也很好用。你唧唧歪歪個(gè)屁啊  回復(fù)  更多評(píng)論
              

            # re: JavaScript與C# Windows應(yīng)用程序交互 2011-04-25 21:57 francis
            做程序的,要注意版權(quán)..至少也標(biāo)識(shí)一下原鏈接,尊重別人的勞動(dòng)成果一下吧。  回復(fù)  更多評(píng)論
              

            亚洲中文久久精品无码ww16| 久久伊人精品青青草原高清| 久久久网中文字幕| 久久久99精品成人片中文字幕| 久久免费香蕉视频| 日产精品久久久一区二区| 久久久国产精品福利免费 | 性做久久久久久久久久久| 国产免费久久精品丫丫| 中文字幕精品久久久久人妻| 亚洲欧美日韩久久精品第一区| 国产精品久久久久国产A级| 久久久久九国产精品| 麻豆久久久9性大片| 77777亚洲午夜久久多喷| 香蕉99久久国产综合精品宅男自| 国产精品99久久99久久久| 久久亚洲精品无码观看不卡| 成人久久精品一区二区三区| 国产精品久久久久免费a∨| 狠狠综合久久综合中文88| 久久久久人妻一区二区三区vr| 国产精品无码久久久久| 久久人人爽人人爽人人片AV不 | 狠狠人妻久久久久久综合蜜桃| 综合网日日天干夜夜久久| 青春久久| 久久久久国产一级毛片高清板| a级成人毛片久久| 91精品国产高清91久久久久久| 精品国产乱码久久久久久人妻| 人妻系列无码专区久久五月天| 伊人久久综在合线亚洲2019| 久久777国产线看观看精品| 日韩人妻无码精品久久免费一 | 久久久久综合网久久| 久久一日本道色综合久久| 青草国产精品久久久久久| 亚洲中文字幕久久精品无码APP | 久久久精品国产亚洲成人满18免费网站| 久久99精品久久久久婷婷|