2010-01-13 123 views
2

我們有一些使用cfhtmlhead標記的ColdFusion應用程序來添加一些腳本和隨機樣式錶鏈接標記......問題是我無法更改這樣做的文件,而且我的內容必須與具有cfhtmlhead調用。再一次,我無法解決這個問題。cfhtmlhead重置/取消設置或取消?

我認爲幾乎作品的唯一的事情就是做一個< cfcontent重置=「真」>這需要的一切,但揮之不去的< SCRIPT> ... </SCRIPT>和<鏈接的照顧。 .. />使用添加的標籤< cfhtmlhead />

我只需要知道是否有重置或取消任何一種方式,已通過cfhtmlhead添加到輸出一些文字內容不能有腳本,鏈接標籤或任何其他垃圾輸出。

從我試過/發現的情況看,似乎不可能。有人可以證實,如果是這樣的話?我在某處丟失了一些簡單甚至是駭人的解決方案嗎?

回答

2

感謝亨利的鏈接和我在同一時間找出一些其他的問題,我有其他的方法想它破解,發現這個簡單的解決方案,爲我的原創作品的問題,因爲我不希望/需要使用通過cfhtmlhead呼籲在所有注入的內容:

<!--- output that doesn't work with the headerText being added to it ---> 
<cfsavecontent variable="dontLitter"> 
... 
</cfsavecontent> 

<cfcontent type="text/html" variable="#toBinary(toBase64(dontLitter))#" /> 

這個工程使用,因爲當<cfcontent>標籤與variable屬性的所有先前的輸出被丟棄,包括任何SE t與<cfhtmlhead> - 這是需要的。

2
while (getMetaData(out).getName() is 'coldfusion.runtime.NeoBodyContent') 
{ 
    out = out.getEnclosingWriter(); 
} 
methods = out.getClass().getDeclaredMethod("initHeaderBuffer",arrayNew(1)); 
methods.setAccessible(true); 
methods.invoke(out,arrayNew(1)); 

http://www.coldfusiondeveloper.nl/post.cfm/clearing-the-cfhtmlhead-buffer-in-railo

+0

好發現,亨利! :-) – 2010-01-13 20:54:25

+0

:)我剛剛問過Google ... – Henry 2010-01-13 21:29:43

+0

嗯,當我嘗試在我的cfml頁面上時出現錯誤... 消息:無法調用對象類的方法getDeclaredMethod coldfusion.runtime.NeoBodyContent 可能與服務器配置方式或頁面執行方式有關(我可以訪問的文件是包含在相當長鏈中的許多文件中的一個)。 雖然在頁面上的好主意,我會繼續尋找。可能是「禁止訪問內部ColdFusion Java組件」 – John 2010-01-16 03:00:08