Awesomium .NET 1.7.4.2。代码中描述的问题:
private void OnLoadingFrameComplete(object sender, FrameEventArgs frameEventArgs)
{
if (IsLoading) return;
SynchronousMessageTimeout = 5000;
dynamic forms = ExecuteJavascriptWithResult(@"
(function () {
var result = [];
var nodeList = document.getElementsByTagName('form');
//return nodeList[0]; //
//result[0] = 1; // Any of these works fine
//result[0] = { a : 1, b : 2 }; //
//result.push(nodeList[0]); //
//result[0] = nodeList[0]; // Any of these returns undefined and TimedOut
//result[0] = document; //
return result;
})();");
var error = GetLastError();
}
增加超时没有帮助。它适用于Chrome控制台中的所有情况。我的测试页面:
<html>
<head>
<meta charset="utf-8"/>
<title>Test</title>
</head>
<body>
<div>
<form>
<input type="text"></input>
<input type="textarea"></input>
</form>
<form method="post">
<input type="email"></input>
<input type="button"></input>
</form>
</div>
</body>
</html>
没有ajax等。
当尝试将数组元素设置为任何DOM对象时,似乎发生了错误。虽然返回对象本身工作正常。那么为什么会这样呢?我做错了吗?