2013-07-07 32 views
10

Tôi nhận được lỗi sau trên một trang, chúng tôi đang tải:cf10 không thể thêm văn bản sang HTML Trưởng

coldfusion.runtime.CfErrorWrapper 
Unable to add text to HTML HEAD tag. 
[empty string] 

caused by 

Template 

Unable to add text to HTML HEAD tag. 
ColdFusion was unable to add the text you specified to the output stream. This is probably because you have already used a CFFLUSH tag in your template or buffered output is turned off. 

tôi đã thực hiện một quá trình quét của tất cả các tập tin được bao gồm trong ứng dụng của chúng tôi và không thể tìm thấy bất cứ thứ gì sử dụng CFFlush.

đầu ra được đặt thành 'không' trên tất cả các cfcs và thành phần. Tôi cũng đã thử thêm cfsetting showdebugoutput = no trong một tập tin. Điều đó không giúp được gì.

Tôi đã bật gỡ lỗi yêu cầu trong cfadmin và điều đó không giúp ích gì.

Đầu HTML hoạt động tốt ở các phần khác của ứng dụng của chúng tôi, nó dường như chỉ xuất hiện trên một trang này.

Điều duy nhất thực sự khác biệt về trang này là nó là một trang đặc biệt dài.

Trả lời

13

Nếu đó là một trang đặc biệt dài, thì CF có thể tự xóa bộ đệm. Nếu bạn kiểm tra trong CFAdmin, trên trang cài đặt, có một cài đặt cho Kích thước bộ đệm đầu ra tối đa. Tôi tin rằng mặc định là 1024 KB. Nếu trang của bạn vượt quá 1 meg nội dung, thì CF có thể xóa bộ đệm trước khi thẻ <cfhtmlhead /> của bạn chạy. Thử tăng kích thước bộ đệm hoặc thay đổi vị trí của thẻ <cfhtmlhead /> để xem điều đó có khắc phục được sự cố hay không.

1

Gần đây tôi đã gặp sự cố tương tự nhưng hành vi không thể dự đoán được. Tôi tin rằng câu trả lời của Dan Short là chính xác. Tôi đã tạo một số trang thử nghiệm để xem liệu tôi có thể tạo lại vấn đề hay không. Mỗi lần TestTemplate.cfm được bao gồm, CFHTMLHEAD viết một cảnh báo JavaScript đơn giản cho thẻ head. Khi đạt đến bộ đệm và trang được tự động xóa, mọi lần sử dụng thẻ CFHTMLHEAD tiếp theo sẽ dẫn đến lỗi, cụ thể là lỗi trong bài đăng gốc. Như Dan chỉ ra, bạn có thể làm việc theo cách của bạn xung quanh vấn đề này bằng cách thay đổi kích thước bộ đệm đầu ra tối đa.

file: index.cfm

<html> 
<head><title>Test Page</title></head> 
<body> 
<cfset SampleScript = "<script src='sample.js'></script>"> 
cfset Count = 0> 
<cfinclude template="TestTemplate.cfm"> 
<cfinclude template="TestTemplate.cfm"> 
<cfinclude template="TestTemplate.cfm"> 
</body> 
</html> 

tập tin TestTemplate.cfm

<cfhtmlhead text="#SampleScript#"> 
<cfset Count++> 
<cfoutput> 
<h1>Count #Count#</h1> 
</cfoutput> 

<cfoutput> 
<cfloop from="1" to="100000" index="i"> 
    <cfscript> 
    j = randRange(i, 1000000); 
    k = randRange(i, 1000000); 
    l = j * k; 
    writeOutput(l); 
</cfscript> 
</cfloop> 
</cfoutput> 

tập tin sample.js

alert('Boo!'); 
+0

Chúng tôi cũng gặp vấn đề này - một trong số đó, tôi không thực sự chắc chắn, nhưng nó sẽ phải nằm trong hàng nghìn cuộc gọi tạo ra một trang trung bình 11K đột nhiên quá lớn để không rõ ràng lý do. Cuộc gọi thường là một cuộc gọi GET với không có gì bất thường trong chuỗi truy vấn. Tôi quan tâm nhiều hơn về những gì đang được trả lại cho trình duyệt hơn là nhận được lỗi, tuy nhiên. – GumbyG

1

Để sửa lỗi này, đăng nhập vào Coldfusion Admin, đi đến Memory Biến và bỏ chọn 'Vô hiệu hóa cập nhật Coldfusion cookie nội bộ bằng cách sử dụng thẻ/chức năng Coldfusion.' Lưu cài đặt của bạn và khởi động lại trang web của bạn.

+0

bạn có thể thêm nguồn để giúp hiểu rõ ràng – lalithkumar

+0

Tôi vẫn gặp sự cố này khi mục đó không được chọn. – pcormier

Các vấn đề liên quan