none
window.location.href不执行 RRS feed

  • 问题

  • 有这样一段代码,如下。在部分计算机(环境也是winxp和IE7)中访问此页面,为什么红色代码不执行?有哪些原因会造成这种情况?

     

    <!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> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 

    <title>... ...  </title> 
    <link href="css/default.css" rel="stylesheet" type="text/css" /> 
    <link href="css/01.css" rel="stylesheet" type="text/css" /> 
    <link href="css/02.css" rel="stylesheet" type="text/css" /> 
    <script language="JScript" src="../inc/Function.js">  </script> 
    </head> 
    ... ... ... ... 
    <body> 
    ...... ... ... ... ... ... 
    <table width="781" height="453" border="0" cellpadding="0" cellspacing="0"> 
        <tr> 
          <td width="1" bgcolor="#A6A6A6">  </td> 
          <td width="181" valign="top"> 
    ... ... ... ...    
          </td> 
          <td width="1" bgcolor="#A6A6A6">  </td> 
          <td align="center" valign="top"> 
    <script language=javascript>window.location.href='addtocart_a.asp?return_value1=1&Clearing_way=MAP017001&Buy_way_count=0&activate_is=1&usertype_1=account&project_id=1&Activate_way=MAP015002&Activate_way_value=区域激活&Buy_way=MAP019001&Nav_number=CGXX070917000484&w_name=上海通用汽车专用地图&product_id=7';   </script>
    2008年4月28日 7:07

答案

  •  

    <script language=javascript>window.location.href='addtocart_a.asp?return_value1=1&Clearing_way=MAP017001&Buy_way_count=0&activate_is=1&usertype_1=account&project_id=1&Activate_way=MAP015002&Activate_way_value=区域激活&Buy_way=MAP019001&Nav_number=CGXX070917000484&w_name=上海通用汽车专用地图&product_id=7&rnd='+Math.Random();   </script>
    2008年5月12日 4:18

全部回复

  • 去掉 language=javascript

    写成

    Code Snippet

    <script type="text/javascript">

     

    或者干脆

    <script>

     

     

     

    另外,要保证你前面的js脚本没有错误,如果不能确定是否有错误,请将前面的js文件删除

    2008年4月28日 7:28
    版主
  •  

    页面上没有提示脚本错误。

    而且在许多台计算机中试过,没有问题。而且根据IIS日志获得的信息(如下),我通过虚拟机模拟了相应的配置,也不能重现问题,但是在客户的计算机上问题仍旧存在。

     

    IIS日志信息:

    2008-04-28 01:04:14 W3SVC853932 192.168.0.8 POST /sgmlogin/addtocart.asp - 80 -  客户IP Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727) 200 0 1236 2048 586 41796

     

    如果正常的,下一条日志为:

    2008-04-28 01:04:14 W3SVC853932 192.168.0.8 GET /sgmlogin/addtocart_a.asp return_value1=1&Clearing_way=MAP017001&Buy_way_count=0&activate_is=1&usertype_1=account&project_id=1&Activate_way=MAP015002&Activate_way_value=区域激活&Buy_way=MAP019001&Nav_number=CGXX070917000484&w_name=上海通用汽车专用地图&product_id=7 80 - 客户IP Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727) 200 0 0 0316 1064 7328

     

    但是由于没有执行脚本,使得没有这条日志

     

    另外我让用户做过下列测试(如下),用户反馈能够打开about.htm页面

    <html>
    <head>
     <title>测试!</title>
    </head>
    <body>
    <table>
    <tr>
    <td>
     <font color = "red">请记录这个操作:页面显示不正常!</font>
    </td>
    </tr>
    <tr>
    <td>
    <script language = "javascript">
     alert("请记录这个操作:弹出确认框!");
     window.open("about.htm?test=中文", "_blank");
     window.location.href = "about2.htm?test=中文";
    </script>

    2008年4月28日 7:46
  • 是不是url有中文的原因,urlencode试试

    2008年4月28日 8:27
  •  

    我也怀疑过是否中文原因,做了一个测试页面,让客户访问,从客户反馈回来的消息,中文不影响。

     

    测试页面:

    <html>
    <head>
     <title>测试!</title>
    </head>
    <body>
    <table>
    <tr>
    <td>
     <font color = "red">请记录这个操作:页面显示不正常!</font>
    </td>
    </tr>
    <tr>
    <td>
    <script language = "javascript">
     alert("请记录这个操作:弹出确认框!");
     window.open("about.htm?test=中文", "_blank");
     window.location.href = "about2.htm?test=中文";
    </script>

     

    客户能够打开about2.htm页面

    2008年4月28日 9:20
  • 就用这个窜试

    Code Snippet

     

    return_value1=1&Clearing_way=MAP017001&Buy_way_count=0&activate_is=1&usertype_1=account&project_id=1&Activate_way=MAP015002&Activate_way_value=区域激活&Buy_way=MAP019001&Nav_number=CGXX070917000484&w_name=上海通用汽车专用地图&product_id=

     

     

     

    2008年4月28日 9:27
  •  

    你的页面不是放在帧里面的吧?
    2008年4月28日 9:31
    版主
  •  

    不是

     

    一直以来,我在各个环境下测试过,外部人员也测试过,都没有发现这个问题。

    但是早几天客户用的时候,却出了这个问题。

    我让客户换台机器,我通过IIS日志了解到机器是winxp+IE6,没有问题。

    据客户说他们统一配发的电脑(同样的winxp+IE7)都有这个问题,但是我虚拟机上也是这个配置(winxp+IE7)测试后重现不了这个问题。

    不知道是什么设置或原因造成了?

     

    2008年4月28日 9:40
  • 这个问题确实奇怪,应该检查IE的设置,试试将弹出窗口拦截程序关掉。或者将当前站点加为信任站点试试。

     

    2008年4月28日 12:08
    版主
  •  

    <script language=javascript>window.location.href='addtocart_a.asp?return_value1=1&Clearing_way=MAP017001&Buy_way_count=0&activate_is=1&usertype_1=account&project_id=1&Activate_way=MAP015002&Activate_way_value=区域激活&Buy_way=MAP019001&Nav_number=CGXX070917000484&w_name=上海通用汽车专用地图&product_id=7&rnd='+Math.Random();   </script>
    2008年5月12日 4:18