ColdFusion 10错误仅在IE9中发生

阿帕克81

我的客户The 2 parameter of the Left function, which is now -1, must be a positive integer从ColdFusion 8迁移到ColdFusion 10后遇到错误。该页面在Windows 7的Firefox 31和Chrome 36中按预期方式运行。但是,此错误在IE9中发生,但在IE7中不发生。IE9中是否有其他安全设置禁止处理代码?

有问题的代码段是:

    <!--- Populate the UserInfo struct --->
<cfloop INDEX="item" LIST="#COOKIE.MYELVIS_USERINFO#" DELIMITERS="&">
    <cfset delim = #FindOneOf("=",item)#>
    <cfif (len(item)-delim)>
        <cfset UserInfo[UCase(left(item,delim-1))] = right(item,len(item)-delim)>
    <cfelse>
        <cfset UserInfo[UCase(left(item,delim-1))] = "">
    </cfif>         
</cfloop>

我很伤心地说这是在其他浏览器(而不是IE9)中工作时的代码错误。有什么想法吗?谢谢你。

普通乔

也许让他清除cookie,可能从cf 8保留下来,并且两个版本的编码方式不同。看起来,如果可能的话,其中一个值不包含=。

在查看您的代码后,我认为这是您所需要的。

<cfloop INDEX="item" LIST="#COOKIE.MYELVIS_USERINFO#" DELIMITERS="&">
  <cfset delim = #FindOneOf("=",item)#>
  <cfif (delim) and (len(item)-delim)>
    <cfset UserInfo[UCase(left(item,delim-1))] = right(item,len(item)-delim)>
  <cfelse>
    <cfset UserInfo[UCase(item)] = "">
  </cfif>         
</cfloop>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章