舊文件

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

「討論:TestAndDebug:Firefox」修訂間的差異

出自 MozTW Wiki

 
在換瀏覽器前,先換版本試試
 
(未顯示由 2 位使用者於中間所作的 2 次修訂)
行 23: 行 23:
 
*【範例寫法二】你這文件不但解決不了我的問題,還害我買了一堆新電腦,真是'''爛斃了'''。 - [[未註冊使用者:雞排人]] 20:01 2006年一月14日 (CST)
 
*【範例寫法二】你這文件不但解決不了我的問題,還害我買了一堆新電腦,真是'''爛斃了'''。 - [[未註冊使用者:雞排人]] 20:01 2006年一月14日 (CST)
 
**【範例寫法三】對不起 orz - [[用戶:Wini|Wini]] 20:01 2006年一月14日 (CST)
 
**【範例寫法三】對不起 orz - [[用戶:Wini|Wini]] 20:01 2006年一月14日 (CST)
 +
*要說明一下 [http://forum.moztw.org/viewtopic.php?t=12646 1.5 版後的安全模式],以及找回[http://forum.moztw.org/viewtopic.php?t=12643 備份的 bookmarks.html 的位置]的方法。 - [[用戶:Wini|Wini]] 03:23 2006年二月3日 (CST)
 +
====在換瀏覽器前,先換版本試試====
 +
*Firefox 3 停止支援Windows 95、98、ME 和 Mac OS X v10.3.8 以及更低版本的作業系統。
 +
*免安裝版置於中文路徑下時可能造成視窗炸彈[http://portable.easylife.idv.tw/1354]。
 +
*新版本可能修復bug,2.0.0.14修復了JavaScript 垃圾收集器(Garbage Collector)會崩潰的問題。
 +
*Unix-like作業系統的gcin 與Firefox 3 不相容[http://forum.moztw.org/viewtopic.php?t=22883]。
 +
 +
== 以錯誤主控台協助除錯 ==
 +
*偶然間被發現的技巧
 +
:*內容節錄如下[http://www.ptt.cc/bbs/Browsers/M.1214054181.A.A6C.html]
 +
<pre>
 +
: : 原本中鍵可以點開新分頁的,失敗後試著用ctrl加滑鼠左鍵也不能動作…
 +
: : 而且前後頁的按鍵都不見了,雖然有滑鼠手勢可以用,但要瀏覽較前幾頁時還是不方便
 +
: : 請問這是不正常現象嗎?@@
 +
: 但在頁面上的連結,點中鍵還是不開分頁(但會被框起來表示按鍵沒失效)。
 +
: 再次檢驗過tmp裡的設定也完全找不出原因。
 +
: 革命尚未成功…。
 +
剛剛才想到要開Error主控台來觀察。
 +
當我在連結上按滑鼠中鍵,或是壓著ctrl配上滑鼠左鍵時,都會出現以下錯誤:
 +
錯誤: event is not defined原始檔:
 +
chrome://tabmixplus/content/minit/tablib.js行: 120
 +
所以的確是與tabmixplus有關係…
 +
解開tabmixplus.jar後找到這個檔案開啟以後,從118行到122行的內容為
 +
 +
118 // for Firefox 3.0
 +
119 eval(&quotopenNewTabWith ="+openNewTabWith.toString().replace(
 +
120 'if (aEvent && aEvent.shiftKey)',
 +
121 'if (aEvent && (aEvent.button == 1 || aEvent.button == 0 && (
 +
aEvent.ctrlKey || aEvent.metaKey )) &&
 +
(prefSvc.getBoolPref(&quotextensions.tabmix.inversefocusLinks") ||
 +
!prefSvc.getBoolPref(&quotextensions.tabmix.inversefocusLinks") &&
 +
aEvent.shiftKey))'
 +
122 ));
 +
 +
唔…然後…請問這段程式碼有什麼錯誤的地方嗎?囧||
 +
</pre>
 +
:*內容節錄如下[http://www.ptt.cc/bbs/Browsers/M.1214057959.A.305.html]
 +
<pre>
 +
: 推 Kenqr:移除tmp重裝看看?                                        06/21 21:22
 +
: → chris:呃…商量一下…停用再重啟可不可以呀?囧|| 一定要重裝嗎?  06/21 21:35
 +
: → chris:請問中鍵開分頁這功能,不裝tmp也是有的嘛?都忘了…        06/21 22:06
 +
: 推 shyangs:可能的話,我會建議你除了重裝,再加上把設定檔砍乾淨XD    06/21 22:06
 +
: → Kenqr:不裝的話是在背景開新分頁                                  06/21 22:08
 +
: → chris:謝謝兩位的幫忙,總算找出原因了,不是tmp造成的!!        06/21 22:13
 +
在聽從建議停用後繼續觀察錯誤主控台,這回的訊息是:
 +
錯誤: event is not defined
 +
原始檔:
 +
file:///C:/Documents%20and%20Settings/Chris/My%20Documents/Firefox/Chris/extensions/%7B1280606b-2510-4fe0-97ef-9b5a22eafe64%7D/components/userChrome_js.js
 +
->
 +
file:///C:/Documents%20and%20Settings/Chris/My%20Documents/Firefox/Chris/chrome/userChrome.js
 +
行: 12
 +
 +
這時好窘……
 +
因為我曾在 userChrome.js 依照忘了哪個網頁的教學,添增了以下的程式碼:
 +
 +
(function() {
 +
  //公用函式
 +
  function hookCode(orgFunc, orgCode, myCode) {
 +
      eval(orgFunc + "=" + eval(orgFunc).toString().replace(orgCode,
 +
myCode));
 +
  }
 +
  //巴哈姆特外部鏈結用中鍵點擊可直接開啟
 +
  hookCode(&quotopenNewTabWith", /{/, "{" + (
 +
      function() {
 +
        if (event && event.button == 1) {
 +
            var m =
 +
href.match(/^javascript:(top\.)?confirmLink\(\s*(\x22|\x27)(.*)(\x22|\x27)\s*\)$/);
 +
            if (m) href = unescape(m[3]);
 +
        }
 +
      }
 +
  ).toString().replace(/^.*{/,"").replace(/.*}$/,""));
 +
})();
 +
 +
而凶手就是這一段………  ̄▽ ̄||||||
 +
不知前面有位同病相憐的板友(抱歉忘了是哪篇文章裡的推文…)狀況是否相同…
 +
若不是這個原因的話,也可以試著用錯誤主控台一步步trace喔!好玩耶!XD
 +
 +
再次感謝所有給過意見的板友們!!!
 +
</pre>
 +
:*恩~這應該也算一種套件相衝?

於 2008年6月23日 (一) 23:40 的最新修訂

加強本文件

前言

Wini 20:01 2006年一月14日 (CST)

本文件目前正處於嚴重的內容分歧狀態。(雖然作者只有一名而已,但該作者有精神分裂,所以內容會分歧很正常。(呃))

首先,這文件一開始是有人覺得 Firefox FAQ 實在又臭又長,還不如自己動手慢慢測比較簡單。

不過,隨著收集了越來越多的問題實例後,原本的檢測除錯步驟也越來越長了(其實第一版就已經長到讓人不想看了)。這時就開始有人覺得只要動手做幾個步驟就可以解決問題了,所以就來寫個最速除錯法吧!總之這時倒也還好,只不過是整理一下檢測除錯的精華,並歸納出「怎樣做最有效」的方法讓人照著去做而已。

但是,有人覺得只是教人照著一定的步驟去做卻不說明為何實在太死板了!於是又跑出來了一個 Windows 檢測除錯心法,期待著人人都能變得跟名電腦駭客一樣清楚自己在幹啥。

外加上剛又有人發現到,本頁面所使用的英文「 TestAndDebug:Firefox 」,搞不好會讓人誤以為這兒是在寫關於「編寫 Firefox 程式時的問題」的頁面!(呃)

總之本文件目前正處於嚴重的內容分歧狀態。仔細想想的話,問題的確蠻多的,所以各位對本文件有任何意見時,請多多利用本討論頁面。

順帶一提,個人覺得目前的一個問題,是應該無視作業系統和挑瀏覽器的網頁,專心於 Mozilla Firefox 本身的功能說明,以及官方文件及臭蟲資料的提供。(不過筆者剛好不擅長這兩項)

請在下面敘述你覺得本文件該加強的地方

在換瀏覽器前,先換版本試試

  • Firefox 3 停止支援Windows 95、98、ME 和 Mac OS X v10.3.8 以及更低版本的作業系統。
  • 免安裝版置於中文路徑下時可能造成視窗炸彈[1]
  • 新版本可能修復bug,2.0.0.14修復了JavaScript 垃圾收集器(Garbage Collector)會崩潰的問題。
  • Unix-like作業系統的gcin 與Firefox 3 不相容[2]

以錯誤主控台協助除錯

  • 偶然間被發現的技巧
  • 內容節錄如下[3]
: : 原本中鍵可以點開新分頁的,失敗後試著用ctrl加滑鼠左鍵也不能動作…
: : 而且前後頁的按鍵都不見了,雖然有滑鼠手勢可以用,但要瀏覽較前幾頁時還是不方便
: : 請問這是不正常現象嗎?@@
: 但在頁面上的連結,點中鍵還是不開分頁(但會被框起來表示按鍵沒失效)。
: 再次檢驗過tmp裡的設定也完全找不出原因。
: 革命尚未成功…。
剛剛才想到要開Error主控台來觀察。
當我在連結上按滑鼠中鍵,或是壓著ctrl配上滑鼠左鍵時,都會出現以下錯誤:
錯誤: event is not defined原始檔:
chrome://tabmixplus/content/minit/tablib.js行: 120
所以的確是與tabmixplus有關係…
解開tabmixplus.jar後找到這個檔案開啟以後,從118行到122行的內容為

118 // for Firefox 3.0
119 eval(&quotopenNewTabWith ="+openNewTabWith.toString().replace(
120 'if (aEvent && aEvent.shiftKey)',
121 'if (aEvent && (aEvent.button == 1 || aEvent.button == 0 && (
aEvent.ctrlKey || aEvent.metaKey )) &&
(prefSvc.getBoolPref(&quotextensions.tabmix.inversefocusLinks") ||
!prefSvc.getBoolPref(&quotextensions.tabmix.inversefocusLinks") &&
aEvent.shiftKey))'
122 ));

唔…然後…請問這段程式碼有什麼錯誤的地方嗎?囧||
  • 內容節錄如下[4]
: 推 Kenqr:移除tmp重裝看看?                                         06/21 21:22
: → chris:呃…商量一下…停用再重啟可不可以呀?囧|| 一定要重裝嗎?   06/21 21:35
: → chris:請問中鍵開分頁這功能,不裝tmp也是有的嘛?都忘了…         06/21 22:06
: 推 shyangs:可能的話,我會建議你除了重裝,再加上把設定檔砍乾淨XD    06/21 22:06
: → Kenqr:不裝的話是在背景開新分頁                                  06/21 22:08
: → chris:謝謝兩位的幫忙,總算找出原因了,不是tmp造成的!!         06/21 22:13
在聽從建議停用後繼續觀察錯誤主控台,這回的訊息是:
錯誤: event is not defined
原始檔:
file:///C:/Documents%20and%20Settings/Chris/My%20Documents/Firefox/Chris/extensions/%7B1280606b-2510-4fe0-97ef-9b5a22eafe64%7D/components/userChrome_js.js
->
file:///C:/Documents%20and%20Settings/Chris/My%20Documents/Firefox/Chris/chrome/userChrome.js
行: 12

這時好窘……
因為我曾在 userChrome.js 依照忘了哪個網頁的教學,添增了以下的程式碼:

(function() {
   //公用函式
   function hookCode(orgFunc, orgCode, myCode) {
      eval(orgFunc + "=" + eval(orgFunc).toString().replace(orgCode,
myCode));
   }
   //巴哈姆特外部鏈結用中鍵點擊可直接開啟
   hookCode(&quotopenNewTabWith", /{/, "{" + (
      function() {
         if (event && event.button == 1) {
            var m =
href.match(/^javascript:(top\.)?confirmLink\(\s*(\x22|\x27)(.*)(\x22|\x27)\s*\)$/);
            if (m) href = unescape(m[3]);
         }
      }
   ).toString().replace(/^.*{/,"").replace(/.*}$/,""));
})();

而凶手就是這一段………  ̄▽ ̄||||||
不知前面有位同病相憐的板友(抱歉忘了是哪篇文章裡的推文…)狀況是否相同…
若不是這個原因的話,也可以試著用錯誤主控台一步步trace喔!好玩耶!XD

再次感謝所有給過意見的板友們!!!
  • 恩~這應該也算一種套件相衝?
個人工具