呵呵,那是页面转向,即redirect,是window的行为,js没辙!如果是iframe内部跳转,那么在外层窗体或许可以用js监控一下!

解决方案 »

  1.   

    yixianggao  看见您的话 我感触颇深 那您一定也懂js了吧
    能不能告诉我是哪个window的行为呢?
    还有啊,如果是iframe内部跳转,怎么在外层窗体或许可以用js监控呢?
      

  2.   

    lz滴页面是frameset结构,还是普通body页面,亦或普通body页面内嵌iframe?!其实页面跳转就是 window.location.href="TargetUrl";如果是普通body页面滴话,根本无法监控!如果是普通body页面内嵌iframe,俺要去试试看,一会儿再来回帖!
      

  3.   

    您说的body中内嵌iframe是指的什么情况呢
      

  4.   

    哦,lz急啥呀,哪里有这样问问题滴!俺要断网才能模拟试验环境,当然要消失一会儿!以下代码:IE6sp1, TT3.8 测试可用,FF2无效!L@_@K
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>dhtml.iframe.checkNetConnection.html</title>
        <meta name="generator" content="editplus" />
        <meta name="author" content="Gao YiXiang" />
        <meta name="email" content="[email protected]" />
        <meta name="keywords" content="javascript dhtml dom" />
        <meta name="description" content="I love web development." />
        <style type="text/css">
    div
    {
        float: left;
    }
        </style>
    </head>
    <body>
        <h3>IE6sp1, TT3.8 测试可用,FF2无效!</h3>
        <div id="" class="">
            <iframe id="ifmTest" frameborder="1" scrolling="auto" width="400" height="300"></iframe>
        </div>
        <div id="" class="">
            <a href="http://www.google.com">Google(断网时再测)</a><br />
            <a href="http://www.baidugoogle.com">Baidugoogle(错误链接)</a><br />
            <textarea id="ttaShow" rows="20" cols="60"></textarea>
        </div>
        <script type="text/javascript">
        <!--
    function $(sId)
    {
        return document.getElementById(sId);
    }var oIframe = $("ifmTest");
    var oOutput = $("ttaShow");
    var iTimerID = null;
    var cHlk = document.getElementsByTagName("a");
    for (var i=0; i<cHlk.length; i++)
    {
        cHlk[i].onclick = function()
        {
            oIframe.src = this.href;
            iTimerID = setInterval(checkNetConnection, 100);
            return false;
        };
    }function checkNetConnection()
    {
        try
        {
            var localPageContent = document.frames("ifmTest").document.body.innerHTML;        // 测试用。
            oOutput.value = localPageContent;        if (localPageContent.indexOf("找不到服务器或发生 DNS 错误")>-1)
            {
                document.frames("ifmTest").document.write("请检查您的<b style='color: red'>网络连接是否正常</b>!");            clearInterval(iTimerID);
            }
            else if (localPageContent.indexOf("找不到网页")>-1)
            {
                document.frames("ifmTest").document.write("请检查您输入的<b style='color: red'>网址是否正确</b>!");            clearInterval(iTimerID);
            }
        }
        catch (e)
        {
            alert(e.message+"\n注:说明请求得到了回应,并未调用本地页面,因此才会拒绝访问!");        clearInterval(iTimerID);
        }
    }
        //-->
        </script>
    </body>
    </html>
      

  5.   

    请把浏览器版本号和语言版本贴出来!E文IE肯定无效,要改改才可以用!
      

  6.   

    俺刚才断网又试验了一下,IE6sp1,TT3.8测试可用,都是简体中文版,可以正常显示“请检查您的网络连接是否正常!”。
      

  7.   

    我是用eEitPlus进行测试的
    不知道是不是它的错误呢
      

  8.   

    哦,俺又用EidtPlus v2.31(524) EN 测试没问题!lz还是用标准IE浏览器测试吧,因为那些页面其实都是IE自带滴,
    如果检测不到相应文本,并未触发异常,就会一直循环下去,什么也不发生!
      

  9.   

    注:说明请求得到了回应,并未调用本地页面,因此才会拒绝访问 
    ----------------------
    这是catch返回滴内容!
    与$无关,$只是一个缩写而已!
        catch (e)
        {
            alert(e.message+"\n注:说明请求得到了回应,并未调用本地页面,因此才会拒绝访问!");        clearInterval(iTimerID);
        }也许是页面缓存,要不就是没有断网!总之与环境有关!1 清缓存文件!
    2 拔网线或停网卡!
      

  10.   

    message 输出的是拒绝访问
    就是没拔网线的时候也是 输出拒绝访问的字样
    这是为什么呢
      

  11.   

    message 输出的是拒绝访问 
    就是没拔网线的时候也是输出拒绝访问的字样 
    这是为什么呢
    -----------------------------------
    因为如果iframe正常返回页面(不同域名下的页面),
    IE出于安全性考虑,会禁止脚本访问。但如果断网后,则返回IE自带页面,
    在IE6sp1-chs下是可以修改滴!该吃晚饭去了,88
      

  12.   

    哦,20可真难得,终于好了!第一版确实有问题,是俺疏忽了,哈
    现在这个第二版还不错,lz测测看吧!L@_@K
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>dhtml.iframe.checkNetConnection.html</title>
        <meta name="generator" content="editplus" />
        <meta name="author" content="Gao YiXiang" />
        <meta name="email" content="[email protected]" />
        <meta name="keywords" content="javascript dhtml dom" />
        <meta name="description" content="I love web development." />
        <style type="text/css">
    div
    {
        float: left;
    }
        </style>
    </head>
    <body>
        <h3>>网络连接状态检查脚本,IE6sp1, TT3.8 测试可用,FF2无效!</h3>
        <div id="" class="">
            <iframe id="ifmTest" frameborder="1" scrolling="auto" width="400" height="300"></iframe>
        </div>
        <div id="" class="">
            <a href="http://www.google.com">Google(断网时再测)</a><br />
            <a href="http://www.baidugoogle.com">Baidugoogle(错误链接)</a><br />
        </div>
        <script type="text/javascript">
        <!--
    function $(sId)
    {
        return document.getElementById(sId);
    }var oIframe = $("ifmTest");
    var oOutput = $("ttaShow");
    var iTimerID = null;
    var iCheckCount = 0;
    // 最长检测时间为半分钟,足够长了!
    var iCheckMax = 30;
    var cHlk = document.getElementsByTagName("a");
    for (var i=0; i<cHlk.length; i++)
    {
        cHlk[i].onclick = function()
        {
            oIframe.src = this.href;        if (iTimerID != null) clearInterval(iTimerID);
            iTimerID = setInterval(checkNetConnection, 1000);        return false;
        };
    }function checkNetConnection()
    {
        try
        {
            iCheckCount++;        var sIframeUrl = document.frames("ifmTest").location.href;        if (sIframeUrl.indexOf("shdoclc.dll/navcancl.htm")>-1
                || sIframeUrl.indexOf("shdoclc.dll/dnserror.htm")>-1)
            {
                document.frames("ifmTest").document.write("请检查您的<b style='color: red'>网络连接是否正常</b>!");            clearInterval(iTimerID);
            }
            else if (sIframeUrl.indexOf("shdoclc.dll/http_404.htm")>-1)
            {
                document.frames("ifmTest").document.write("请检查您输入的<b style='color: red'>网址是否正确</b>!");            clearInterval(iTimerID);
            }
        }
        catch (e)
        {
            // 仅调试用!
            //alert(e.message+"\n注:说明请求得到了回应,并未调用本地页面,因此才会拒绝访问!");
        }    // 到达检查次数上限后自动终止!
        if (iCheckCount == iCheckMax)
        {
            clearInterval(iTimerID);
        }
    }
        //-->
        </script>
    </body>
    </html>