我運行在後端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