提问人:Alexander PhoeniX 提问时间:2/17/2017 更新时间:2/17/2017 访问量:82
WebBrowser InvokeScript 在脚本 CDATA 注释时不起作用?
WebBrowser InvokeScript doesn't work when script CDATA commented?
问:
HTML 脚本标签包含函数
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
我需要从 C# 执行 javascript。我的代码:
var webbrowser = new WebBrowser();
var uri = new Uri(param.FinalUrl);
webbrowser.Navigate(uri);
while (webbrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
Thread.Sleep(100);
}
var args = new object[] { "ctl00$cphBody$gvTradeList", "Page$3" };
var result = webbrowser.Document.InvokeScript("__doPostBack", args);
但 InvokeScript 始终返回 null 且 DocumentText 不更改。问题是否可能是由 CDATA 标记中的注释引起的?如果这是原因,在这种情况下如何执行javascript?
答: 暂无答案
评论