我运行在后端ColdFusion和包装我的网页是这样的:为什么当IE6请求页面时,我在ColdFusion中尝试将HTML转换为Binary时发生错误?
<cfsavecontent variable="renderedResults"><p>hello</p></cfsavecontent>
<cfscript>
compressedHTML = reReplace(renderedResults, "\>\s+\<", "> <", "ALL");
compressedHTML = reReplace(compressedHTML, "\s{2,}", chr(13), "ALL");
compressedHTML = reReplace(compressedHTML, "\s{2,}", chr(09), "ALL");
variables.alredayBinary = "false";
</cfscript>
<cfif cgi.HTTP_ACCEPT_ENCODING contains "gzip">
<cfinvoke component="services.utils" method="gzip" stringToZip="#compressedHTML#" returnvariable="compressedHTML"></cfinvoke>
<cfheader name="Content-Encoding" value="gzip">
<cfset variables.alredayBinary = "true">
</cfif>
<cfheader name="Content-Type" value="text/html; charset=ISO-8859-1">
<cfheader name="Content-Length" value="#len(compressedHTML)#" >
<cfif variables.alredayBinary EQ "false">
<cfcontent reset="no" variable="#ToBinary(compressedHTML)#" />
<cfelse>
<cfcontent reset="no" variable="#compressedHTML#" />
</cfif>
<cfreturn />
虽然这对我来说很有意义,似乎很好地工作在最新的浏览器,我刚刚有了一个用户产生的错误信息乱舞使用Internet Explorer 6
我得到的消息是:
The parameter 1 of function ToBinary, which is now <HTML STRING> must be a Base-64 encoded string
告诉我,我结束了variables.alredayBinary = false
应的HTML字符串转换成二进制编码的字符串。
问:
我不知道我明白了什么toBinary
一样。是不是只是为了 - 采取HTML和转换它?那么为什么错误?为什么只在IE6上?我只能测试IE8工作正常。
感谢您的一些提示!
不,我不想支持IE6。我只是想确保代码是正确的。 – frequent