我不得不重新調整一些舊代碼的工作時間,並且儘管代碼QA很好,但是沒有聲明文檔類型。當我添加一個doctype時,它在IE中打破了設計。理想情況下,我可以聲明任何doctype假定不存在的情況,但不知道這是否可能。有沒有一種方法可以聲明doctype而不更改由不帶任何文檔類型聲明的頁面創建的行爲?添加一個doctype,不用關閉當前的功能
回答
不用doctype,IE會顯示在quirks mode頁面。爲了使IE保持怪癖模式,可以在doctype之前添加註釋(<!-- -->
)。
編輯:如果只是IE6導致問題,XML序言(<?xml version="1.0" encoding="utf-8"?>
)將保持它的怪癖模式。
編輯2:實際上lots of doctypes,這將保持IE在怪癖模式。你應該能夠找到一個你可以驗證的人。
這是不可能的,因爲它會將怪癖模式更改爲標準模式(假設您使用的是XHTML Transitional,HTML 4 Strict或HTML 5之類的東西),並且存在相當多的差異,尤其是對於IE。你必須解決問題或聘請其他人。
如果瀏覽文檔對於聲明的文檔類型無效,IE仍然可能會決定回退到怪癖模式。 – 2010-09-07 17:48:15
我假設一個合法的文檔類型,如HTML 4嚴格或HTML 5,但耶可能有軸承。 – 2010-09-07 17:50:09
我以前曾經有過類似的情況。我的建議是在你這樣做的時候通過HTML驗證工具運行你的HTML。我最喜歡的是這個:
還有一個Firefox插件,如果你需要驗證或有某種其他機制來訪問該頁面(並不能直接擁有該網站訪問您的網站)。
如果您描述的'功能'實際上是許多IE「未公開的功能」(錯誤)之一,那麼您將無法使您的HTML標準兼容,並使其繼續運行。很可能您有許多不符合標準的代碼片段,而IE特定的錯誤處理就是讓頁面功能發揮作用的東西。不同的瀏覽器以不同的方式處理錯誤條件(因爲根據定義,錯誤條件超出了文檔類型的範圍)。
重申一遍,試着讓你的HTML通過某種驗證,然後擔心將功能添加回來。我的經驗告訴我,錯誤條件通常會導致你所描述的這類問題。
這是我在web開發中遇到的#1規則。該頁面需要驗證某些特定的文檔類型。
祝你好運!
布賴恩J. Stinar-
- 1. 功能不會HTML DOCTYPE
- 2. 功能「關閉」
- 3. jQuery禁用一個元素用於關閉一個功能?
- 4. 此工作簿當前由另一個工作簿引用,不能關閉
- 5. 當阻止doctype功能時獲取NullPointerException
- 6. 暫停當前功能,直到對話框關閉
- 7. 關閉當前UserControl
- 8. 使用的日期當前日期添加功能笨
- 9. 不能調用另一個關閉
- 10. 爲什麼不是doctype自動關閉
- 11. 調用功能,關閉
- 12. 是否有一個理由不使用Func的一個關閉功能?
- 13. 在關閉節點之前添加一個XML節點
- 14. simplemodal關閉功能
- 15. 關閉了jqGrid的添加/編輯形式與afterSubmit功能
- 16. 關閉懸停功能不能解僱
- 17. 關閉功能不能正常工作
- 18. 關閉當前的應用程序,打開另一個
- 19. 加載一個簡單的HTML頁面,用trigger.io關閉當前的「標籤」?
- 20. !DOCTYPE的功能是什麼?
- 21. 我可以在當前線程上添加關閉事件嗎
- 22. fancybox不同的關閉功能
- 23. 添加的mysql_query到一個onclick功能
- 24. jquery:添加一個功能新的div
- 25. 功能的可調關閉
- 26. iphone sdk調用關閉另一個類的警報功能?
- 27. 在下一個顯示之前關閉當前通知?
- 28. Aplication關閉,但其中一個功能不留
- 29. 當一個JFrame被關閉
- 30. 模式功能不會彈出在搜索和「關閉」功能沒有關閉
您使用的是嚴格還是過渡文檔類型? – Mark 2010-09-07 17:43:14