C# 使用JavaScript计算速度返回NaN
我遵循此处显示的示例,从web下载具有已知文件大小的图像,并确定速度。由于某种原因,我没有得到结果。我的实现略有不同,因为我使用InvokeScript调用JavaScript,并通过ScriptNotify获取值。然而,我的结果值是NaN。我能做些什么来解决这个问题 JavaScriptC# 使用JavaScript计算速度返回NaN,c#,javascript,html,windows-phone-8,internet-explorer-10,C#,Javascript,Html,Windows Phone 8,Internet Explorer 10,我遵循此处显示的示例,从web下载具有已知文件大小的图像,并确定速度。由于某种原因,我没有得到结果。我的实现略有不同,因为我使用InvokeScript调用JavaScript,并通过ScriptNotify获取值。然而,我的结果值是NaN。我能做些什么来解决这个问题 JavaScript var imageAddr = "http://www.tranquilmusic.ca/images/cats/Cat2.JPG"; var startTime, endTime; var
var imageAddr = "http://www.tranquilmusic.ca/images/cats/Cat2.JPG";
var startTime, endTime;
var downloadSize = 5616998;
var download = new Image();
download.onload = function () {
endTime = (new Date()).getTime();
showResults();
}
startTime = (new Date()).getTime();
download.src = imageAddr;
function showResults() {
var duration = (endTime - startTime) / 1000; //Math.round()
var bitsLoaded = downloadSize * 8;
var speedBps = (bitsLoaded / duration).toFixed(2);
var speedKbps = (speedBps / 1024).toFixed(2);
var speedMbps = (speedKbps / 1024).toFixed(2);
window.external.notify("COT" + speedMbps);
}
C
不确定这是否是您的问题,但是.toFixed2将数字转换为字符串。你真的应该在你的计算结束之前,只有当你想显示一个最终结果时,才考虑这个问题。我试试看。使用.toString而不是.toFixed2时会出现某种语法或其他错误吗?我不明白你的意思。您可以将.toFixed放在任何地方,只需将其放在这里:window.external.notifyCOT+speedMbps.toFixed2;。然后,你所有的数字都保持不变。我已经用同样的结果实施了你的建议。我是否正确下载图像?我无法确定错误可能是什么。
private void RunTestButton_Click(object sender, RoutedEventArgs e)
{
object connectionType = Browser.InvokeScript("showResults");
}
private void Browser_ScriptNotify(object sender, NotifyEventArgs e)
{
string value = null;
value = e.Value.ToString();
TempResultTextBlock.Text = value;
}