C#直接调用webBrowser JavaScript

来源:互联网 发布:长沙软件开发公司 编辑:程序博客网 时间:2024/05/02 02:51

 

直接调用JavaScript

webBrowser1.Document.InvokeScript("FunctionName");

调用带有参数的JavaScript

webBrowser1.Document.InvokeScript("FunctionName",new object[]{obj1});

 

向webBrowser1中添加新的javascript,将javascript放在txt中,代码容易写

TXT内容:

function SubmitUser()

{

document.Login.USER.value     = 'USER';

document.Login.PASSWORD.value = 'PASSWORD';

document.Login.target.value   = 'https://www.myprs.com';

document.Login.submit();

}

 

调用代码

 HtmlDocument document = webBrowser1.Document;

HtmlElement htmlElement = document.CreateElement("Script");

htmlElement.SetAttribute("Language", "JavaScript");

FileStream fs = new FileStream(strFile, FileMode.Open);

StreamReader sr = new StreamReader(fs);

string strjs = sr.ReadToEnd();

htmlElement.SetAttribute("text", strjs);

document.Body.AppendChild(htmlElement);

object ss =  document.InvokeScript(FunctionName);

sr.Close();

fs.Close();

return ss;

 

 

 

有复杂参数的,可以新建Function调用注意FunctionName大小写问题

<script language="javascript">

    var fun = function()

    {

            .......

    }

    onLoadFunctionStack(window, fun);

</script>

 

<script language="javascript">

    function CALLFUN() {

        var fun = function()

   {               

        }

        onLoadFunctionStack(window, fun);

    }

</script>

 

将复杂参数在Function中利用Javascript代码直接赋值

<form name="QueryForm" method="post" action="/myprs/internal/myprsQuery.do;jsessionid=4CB44026578AC5443249606A945259D5.g1u0117c"

onsubmit="return validateForm(this) && onSubmitBasket(this) && displayPnLimitWarningNoParams();">

调用onsubmit中的这段代码 (this代表这个form)可以改写成

function reValue()

{

var frms=document.forms["QueryForm"];

return validateForm(frms) && onSubmitBasket(frms) && displayPnLimitWarningNoParams();

}

 

Javascript中document很有用

0 0