Из вашего комментария, "это функция на стороне клиента на загруженной HTML-странице", звучит так, как будто вы делаете какую-то очистку / сканирование экрана, когда HTML / JavaScript не делает запрос клиента к вашему приложению?
Если я правильно понимаю, что это то, что вы ищете, тогда вам нужен переводчик, который может «говорить» на JavaScript. C # не может этого сделать, поэтому следующая лучшая вещь - запустить компонент в вашем приложении C #, который способен понимать / интерпретировать (и, следовательно, оценивать) JavaScript.
Я бы порекомендовал заглянуть в элемент управления WebBrowser и HtmlDocument.DomDocument, загрузить загруженную HTML-страницу в элемент управления HtmlDocument / WebBrowser, он запустится и будет включать в себя результат функции JavaScript в HTML (начиная с документа. write манипулирует DOM и получающимся HTML).
Если вы создадите приложение для простых форм и перетащите на него элемент управления веб-браузера, вот пример, который я только что написал для проверки этой теории:
using System;
using System.Windows.Forms;
// Make sure to add COM reference to "Microsoft HTML Object Library"
namespace TheAnswer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("about:blank");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
MessageBox.Show("Loaded!");
string testHtml = @"
<html>
<head>
<script type=""text/javascript"">
var a=2;var b=3;
document.write(a+""_""+b);
</script>
</head>
<body>Hello there!</body>
</html>";
mshtml.IHTMLDocument2 htmlDoc = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument; // IHTMLDocument2 has the write capability (IHTMLDocument3 does not)
htmlDoc.close();
htmlDoc.open("about:blank");
object html = testHtml;
htmlDoc.write(html);
html = null;
}
}
}
Очевидно, что отсюда вы можете подключить ваш «загруженный» HTML в документ HTML и выполнить его; и вы, вероятно, столкнетесь со многими препятствиями, если будете иметь дело со множеством разных типов страниц и т. д .; Если вы всегда очищаете страницу подобного типа и уверены в некоторых ожидаемых режимах поведения или функциях javascript, тогда вы сможете достичь некоторых результатов. Трудно сказать больше, учитывая минимальный объем предоставленной вами информации о том, чем занимается ваш проект.
Надеюсь, это поможет и то, чего вы пытались достичь. Дайте мне знать!
РЕДАКТИРОВАТЬ: Wow я не понял, что этот вопрос был 2 года! во всяком случае, было весело ответить на него!