Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用JavaScript计算速度返回NaN_C#_Javascript_Html_Windows Phone 8_Internet Explorer 10 - Fatal编程技术网

C# 使用JavaScript计算速度返回NaN

C# 使用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

我遵循此处显示的示例,从web下载具有已知文件大小的图像,并确定速度。由于某种原因,我没有得到结果。我的实现略有不同,因为我使用InvokeScript调用JavaScript,并通过ScriptNotify获取值。然而,我的结果值是NaN。我能做些什么来解决这个问题

JavaScript

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;
    }