我需要使用ActionScript或Animate ping一个网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我需要使用ActionScript或Animate ping一个网站相关的知识,希望对你有一定的参考价值。

我找到了这个代码(I need to ping to an network with flash or actionscript)我不确定我理解它或如何使用它 - 我需要这个重定向到另一个框架,如果它工作,另一个如果它失败

有人能帮忙吗?

    var ldr:URLLoader = new URLLoader();
ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus);

var url:String = "URL-TO-SITE";
var limit:int = 10;

var time_start:Number;
var time_stop:Number;
var times:int;

ping();

function ping():void
{
    trace("pinging", url);

    times = 0;
    doThePing();
}

function doThePing():void
{
    time_start = getTimer();
    ldr.load(new URLRequest(url));
}

function ldrStatus(evt:*):void
{
    if(evt.status == 200)
    {
        time_stop = getTimer();
        trace("got response in", time_stop - time_start, "ms");
    }

    times++;
    if(times < limit) doThePing();
}
答案

好吧,它试图加载一个网站10次,并检查响应。我会摆脱限制,连续10次尝试它是没有意义的。

不要忘记,您需要在服务器上使用crossdomain.xml文件才能从Flash访问它。

您需要为您的目的添加更多东西:

// add an event listener for a failed call
ldr.addEventListener(IOErrorEvent.IO_ERROR, ldrFailed);
ldr.addEventListener(SecurityErrorEvent.SECURITY_ERROR , ldrSecurityError);

function ldrFailed(evt:*):void
{   
    // loader failed (no internet connection), try to ping again
    doFailedRedirect();
}

function ldrSecurityError(evt:*):void
{   
    // There is an internet connection but probably something is wrong with your crossdomain.xml
    doFailedRedirect();
}

function doRedirect():void
{   
    // make your redirect here
}

function doFailedRedirect():void
{   
    // something went wrong, do your failed redirect here
}

调整ldrStatus函数:

function ldrStatus(evt:*):void
{
    if(evt.status == 200)
    {
        // server responded with status 200 wich means everything is fine 
        time_stop = getTimer();
        trace("got response in", time_stop - time_start, "ms");
        doRedirect();
    }
    else
    {
        // there is an internet connection but the server returns something else (probably something is wrong with the server)
        doFailedRedirect();
    }
}

以上是关于我需要使用ActionScript或Animate ping一个网站的主要内容,如果未能解决你的问题,请参考以下文章

在Adobe Animate ActionScript 3.0中循环

Actionscript/Animate - 如果已经填充了下一个数组点,则填充下一个数组点

(Adobe Animate actionscript) 如何使用 name 、 arry 和 lib() 从舞台中移除特定符号?

如何在 Adob​​e Animate CC/ActionScript 3 中创建带有图片的滚动列表

如何:Adobe Animate - gotoAndStop();点击按钮

Adobe Animate 画布播放()不起作用