舊文件

此處文件僅供參考,請自行考量時效性與適用程度,其他庫藏文件請參考文件頁面
我們亟需您的協助,進行共筆系統搬移、及文件整理工作,詳情請查閱參與我們

「Error tolerance and quirk mode (zhTW)」修訂間的差異

出自 MozTW Wiki

(link origin)
 
(未顯示由 4 位使用者於中間所作的 5 次修訂)
行 3: 行 3:
 
(作者:[[User:Danielwang|danielwang]] 譯者:[[User:Godfather.NTUpsy|教父]])
 
(作者:[[User:Danielwang|danielwang]] 譯者:[[User:Godfather.NTUpsy|教父]])
  
<p>除了安全性問題之外,Microsoft Internet Explorer 的正字標記之一就是它的容錯能力。其實整個 Microsoft Windows 開發平台都是這樣。容錯能力讓許多開發者覺得很幸福。不幸的是,對某些開發者來說,尤其是對平台設計者本身來說,這也是個<u>惡夢</u>。</p>
+
<p>除了安全性問題之外,Microsoft Internet Explorer 的正字標記之一就是它的容錯能力。其實整個 Microsoft Windows 開發平台都是這樣。容錯能力讓許多開發者覺得很幸福。不幸的是,對某些開發者來說,尤其是對平台設計者本身來說,這也是個<em>惡夢</em>。</p>
  
<p>許多使用者都問過,為什麼 Mozilla(和 Firefox)不能像 Internet Explorer(IE)一樣,容忍更多的錯誤。如果 Mozilla 可以把編碼不良的網頁處理得優雅一點,他們想,問題網站就會少一點,Mozilla 的使用率就會高一點。但是,技術上而言,這既<strong>不可能</strong>也<strong>不可取</strong>。</p>
+
<p>許多使用者都問過,為什麼 Mozilla(和 Firefox)不能像 Internet Explorer(IE)一樣,容忍更多的錯誤。他們認為如果 Mozilla 可以把編碼不良的網頁處理得更好一點,問題網站就會少一點,那 Mozilla 被接受的程度也就會高一點。但是技術上而言,這既<strong>不可能</strong>也<strong>不可取</strong>。</p>
  
<p>在網站開發的圈子裡,我們把不符合標準的瀏覽器排版(佈局)行為叫做怪癖(quirks)。這些行為可能是程式的錯誤,或是本來就設計成這樣(為了反向相容或容錯)。它們大部分都沒有可供查詢的說明文件,而且幾乎不可能辨認。有鑑於 IE 的市場優勢,許多開發者和使用者就把 IE 所有的怪癖(包括程式錯誤)當成網路所有的特色。</p>
+
<p>在網站開發的圈子裡,我們把不符合標準的瀏覽器佈局行為叫做怪癖(quirk)。這些行為可能是程式錯誤,或是本來就設計成這樣(為了回溯相容或容錯)。它們大部分都沒有可供查詢的說明文件,而且幾乎不可能辨認。有鑑於 IE 的市場優勢,許多開發者和使用者就把 IE 所有的怪癖(包括程式錯誤)當成它的功能。</p>
  
<p>這些怪癖的本質,讓<u>模擬 IE</u> 變得<strong>不可能</strong>。對於怎麼處理編碼不良的網頁,沒有一個標準;而且,不拿到彼此的原始碼,開發者就不能寫出軟體,來用同樣方式處理這些網頁。我可以丟出一個隨性的,不複雜的例子:</p>
+
<p>這些怪癖的本質,讓<em>模擬 IE</em> 變得完全<strong>不可能</strong>。因為處理編碼不良網頁的方式並沒有標準,而且若拿不到彼此的原始碼,開發者也無法寫出有同樣行為的軟體。我可以隨便舉個簡單的例子:</p>
 
<pre>
 
<pre>
 
   <b>
 
   <b>
行 24: 行 24:
 
</pre>
 
</pre>
  
<p>然後在不同的瀏覽器得到不同結果(即使是 IE 自己的不同版本也一樣)。此外,所有軟體都有程式錯誤,難以判斷一個排版怪癖是意外,或者是瀏覽器在猜想網頁可能包含的錯誤。瀏覽器開發者最多只能<u>模仿</u>怪癖,永遠無法精確。</p>
+
<p>上述範例在不同的瀏覽器會得到不同結果(即使是 IE 自己的不同版本也一樣)。此外,所有軟體都有程式錯誤,難以判斷一個排版怪癖到底是意外,還是瀏覽器試圖猜想並更正網頁的錯誤。瀏覽器開發者最多只能<em>模仿</em>怪癖,永遠無法精確。</p>
  
<p>容錯容得太過分也<strong>不可取</strong>。Windows XP SP2 之前的電腦會有那麼多安全漏洞的理由之一,就是因為那些平台讓開發者很容易做事,包括他們不該做的事。換句話說,Windows 容錯。Service pack 2 引起議論紛紛可不只是因為它修復了一些東西,還因為它弄壞了一些東西(既存的軟體)。</p>
+
<p>容錯容得太過分也<strong>不可取</strong>。Windows XP SP2 之前的電腦會有那麼多安全漏洞的理由之一,就是因為那些平台讓開發者很容易做事 - 包括不該做的事。換句話說,Windows 是容錯的作業系統。Service pack 2 引起議論紛紛可不只是因為它修復了一些東西,還因為它弄壞了一些東西(既存的軟體)。</p>
  
<p>容錯(或是反向相容)可能有拉攏新開發者這個短期優點,但是它會以長期開發做為代價。Internet Explorer 承受相同的宿命。為了『壞編碼』所設計的程式碼已經讓這瀏覽器超載,所以它的開發受阻。事實上 [[News:Schare BetaNews Interview|Windows Product Management 的執行長接受 BetaNews 訪談]]的時候就提到,反向相容是讓 IE 進一步開發有困難的理由之一。</p>
+
<p>容錯(或是回溯相容)在短期上或許可以拉攏新開發者,但是在長期來說則會付出代價。Internet Explorer 承受相同的宿命:為了「壞編碼」所設計的程式碼已經讓這瀏覽器超載,所以它的開發受阻。事實上 [[News:Schare BetaNews Interview|Windows Product Management 的執行長接受 BetaNews 訪談]]的時候就提到,回溯相容是讓 IE 進一步開發困難重重的理由之一。</p>
  
<p>結論是,網站開發者不應該期望 Mozilla 或任何瀏覽器把編碼不良的網頁處理成『它們應該有的樣子』(這沒辦法定義)。這麼做只會把網站開發者鎖在古早的技術裡。</p>
+
<p>結論是,網站開發者不應該期望 Mozilla 或任何瀏覽器把編碼不良的網頁處理成「它們應該有的樣子」(這沒辦法定義),這麼做只會把網站開發者鎖在古早的技術裡。</p>

於 2006年4月28日 (五) 19:50 的最新修訂

容錯與 quirk 模式

原文:Error tolerance and quirk mode (en) (作者:danielwang 譯者:教父)

除了安全性問題之外,Microsoft Internet Explorer 的正字標記之一就是它的容錯能力。其實整個 Microsoft Windows 開發平台都是這樣。容錯能力讓許多開發者覺得很幸福。不幸的是,對某些開發者來說,尤其是對平台設計者本身來說,這也是個惡夢

許多使用者都問過,為什麼 Mozilla(和 Firefox)不能像 Internet Explorer(IE)一樣,容忍更多的錯誤。他們認為如果 Mozilla 可以把編碼不良的網頁處理得更好一點,問題網站就會少一點,那 Mozilla 被接受的程度也就會高一點。但是技術上而言,這既不可能不可取

在網站開發的圈子裡,我們把不符合標準的瀏覽器佈局行為叫做怪癖(quirk)。這些行為可能是程式錯誤,或是本來就設計成這樣(為了回溯相容或容錯)。它們大部分都沒有可供查詢的說明文件,而且幾乎不可能辨認。有鑑於 IE 的市場優勢,許多開發者和使用者就把 IE 所有的怪癖(包括程式錯誤)當成它的功能。

這些怪癖的本質,讓模擬 IE 變得完全不可能。因為處理編碼不良網頁的方式並沒有標準,而且若拿不到彼此的原始碼,開發者也無法寫出有同樣行為的軟體。我可以隨便舉個簡單的例子:

  <b>
    <p><li>
      <font color=red>段落
        <div style="position:absolute;top:10px;right:10px;color:blue">
        哇啦
    </p>
      </font>
    哇啦
  </b>
    哇啦
         </div>

上述範例在不同的瀏覽器會得到不同結果(即使是 IE 自己的不同版本也一樣)。此外,所有軟體都有程式錯誤,難以判斷一個排版怪癖到底是意外,還是瀏覽器試圖猜想並更正網頁的錯誤。瀏覽器開發者最多只能模仿怪癖,永遠無法精確。

容錯容得太過分也不可取。Windows XP SP2 之前的電腦會有那麼多安全漏洞的理由之一,就是因為那些平台讓開發者很容易做事 - 包括不該做的事。換句話說,Windows 是容錯的作業系統。Service pack 2 引起議論紛紛可不只是因為它修復了一些東西,還因為它弄壞了一些東西(既存的軟體)。

容錯(或是回溯相容)在短期上或許可以拉攏新開發者,但是在長期來說則會付出代價。Internet Explorer 承受相同的宿命:為了「壞編碼」所設計的程式碼已經讓這瀏覽器超載,所以它的開發受阻。事實上 [BetaNews Interview|Windows Product Management 的執行長接受 BetaNews 訪談]的時候就提到,回溯相容是讓 IE 進一步開發困難重重的理由之一。

結論是,網站開發者不應該期望 Mozilla 或任何瀏覽器把編碼不良的網頁處理成「它們應該有的樣子」(這沒辦法定義),這麼做只會把網站開發者鎖在古早的技術裡。

個人工具