Firefox 当ä¸HTMLæŽ§ä»¶æ— æ³•æ£å¸¸æ˜¾ç¤º
今天照常上网的时候,çªç„¶å‘现自己的Google主页上é¢çš„所有按钮上é¢çš„æ–‡å—都消失了,所有的å•é€‰æŒ‰é’®ä¹Ÿéƒ½æ¶ˆå¤±äº†ã€‚
å˜æˆäº†è¿™æ ·ï¼š
这个问题最åŽå¾—以解决,解决方案如下:
首先,在地å€æ 输入about:config,然åŽæ‰¾åˆ°nglayout.debug.enable_xbl_forms这个é…置项,如果它是trueçš„è¯ï¼ŒæŠŠå®ƒæ”¹æˆfalse。é‡æ–°å¯åŠ¨Firefoxå³å¯ã€‚
======æˆ‘æ˜¯æ— èŠçš„分割线======
å¦‚æžœä½ çš„å…´è¶£ä»…é™äºŽè§£å†³è¿™ä¸ªé—®é¢˜ï¼Œä¸‹é¢çš„æŸ¥é”™è¿‡ç¨‹è¯·æ— è§†ã€‚
这当然是éžå¸¸ä¸çˆ½çš„一件事情,于是我开始回忆在上次显示尚且完好之åŽæˆ‘åšäº†ä»€ä¹ˆæ“作,但是实在想ä¸èµ·æ¥ä¸Šæ¬¡å®Œå¥½æ˜¯ä»€ä¹ˆæ—¶å€™çš„事情了——我上网一般都是在Google Reader上é¢å¾˜å¾Šï¼Œè€ŒGoogle Reader上é¢ç¡®å®žæ²¡æœ‰ä»€ä¹ˆæ˜¾çœ¼çš„HTMLæ ‡å‡†æŽ§ä»¶å¯ä»¥è®©æˆ‘å‘现这个问题。
于是没有办法,åªå¥½å¼€å§‹æ‰‹åŠ¨æŽ’错。在é‡æ–°å¯åŠ¨Firefox,é‡æ–°å¯åŠ¨Windows,用IE访问Google主页三æ¥ä¹‹åŽï¼ŒåŸºæœ¬å¯ä»¥æŽ’é™¤ç³»ç»ŸåŽŸå› æˆ–è€…Googleçš„ç½‘é¡µæœ¬èº«çš„åŽŸå› ã€‚æŽ¥ä¸‹æ¥çœ‹çœ‹æ˜¯ä¸æ˜¯æ’件的问题,那么就先从“安全模å¼â€å¼€å§‹çœ‹çœ‹é—®é¢˜æ˜¯å¦èƒ½å¤Ÿè§£å†³ã€‚于是打开Firefox在开始èœå•å½“ä¸çš„安全模å¼ï¼Œç„¶åŽæŠŠâ€œç¦ç”¨æ‰€æœ‰æ‰©å±•â€æ‰“勾,é‡æ–°è®¿é—®Google,问题ä¾æ—§ï¼Œå› æ¤ä¹Ÿä¸æ˜¯æ’件的问题。那么是Firefox本身程åºçš„问题么?为了考察这个,我新建一个Profile:在命令行ä¸è¾“å…¥<path_to_firefox>\firefox.exe -P,注æ„P需è¦å¤§å†™ï¼Œç„¶åŽå†å¼¹å‡ºå¯¹è¯æ¡†å½“ä¸é€‰æ‹©æ–°å»ºé…置文件之类,完æˆä¹‹åŽç”¨è¿™ä¸ªæ–°çš„é…置文件å¯åŠ¨ï¼Œç„¶åŽè®¿é—®Googleï¼Œæ²¡æœ‰é—®é¢˜ã€‚å› æ¤çœ‹èµ·æ¥é—®é¢˜ä»ç„¶åœ¨Profile本身。
Profile当ä¸æ—¢ç„¶ä¸æ˜¯æ’件的问题,那么很å¯èƒ½å°±æ˜¯é¦–选项的问题了。我们知é“在æ¯ä¸ªProfile目录下é¢æœ‰ä¸€ä¸ªprefs.js的文件,是Firefox在当å‰æƒ…况下的所有的首选项的值,也就是在about:config里é¢çœ‹åˆ°çš„东西。最简å•çš„就是比较两个Profile当ä¸çš„prefs.js文件。在ç»è¿‡äº†å¤§çº¦åŠä¸ªå°æ—¶ï¼Œå°è¯•è¿‡æ•°å个ä¸åŒçš„首选项之åŽï¼Œå‘现了nglayout.debug.enable_xbl_forms这个罪é祸首。
然åŽç”¨è¿™ä¸ªkeyçš„åå—æ¥æœç´¢ï¼Œå‘现其实这个是从Mozilla 1.3就开始有的问题,最早å¯ä»¥è¿½æº¯åˆ°2002å¹´12月:
unusable in 1.3 and trunk builds.
(bug 185612)
If HTML form controls are not appearing and functioning on HTML pages,
check ‘prefs.js’ for the line ‘user_pref("nglayout.debug.enable_xbl_forms", true);’.
NOTE: this will only affect you if you had previously set this preference
in the ‘Debug’ panel in a previous build of mozilla. Casual users should
never change any of these settings.
这个至今未关的Bug (185612)就是在讨论我é‡åˆ°çš„这个问题。
事情还没有结æŸã€‚
在我没有修改这个键值的情况下,是è°åŠ¨äº†æˆ‘çš„Firefox键值?
在仔细回顾了这个问题之å‰ä¸€å¤©æˆ‘所åšçš„事情之åŽï¼Œå‘现嫌疑最大的是æ’件 XPCOMViewer 版本0.9a。在新建的Profile上é¢å°è¯•ï¼Œå‘现一旦打开XPCOMViewer的主窗å£ï¼Œè¿™ä¸ªé”®ç«‹å³å°±è¢«æ”¹å˜æˆäº†true。也许是作者为了绕过æŸä¸ªéš¾è§£çš„bugå§ã€‚之åŽæŸ¥é˜…XPCOMViewer网站,å‘现作者公布的最新开å‘版1.0a当ä¸å·²ç»ä¿®å¤äº†è¿™ä¸ªé—®é¢˜ï¼Œä¹Ÿè®¸æˆ‘应该给作者å‘一å°ä¿¡å‘Šè¯‰ä»–应该更新一下Mozilla网站上é¢çš„版本了。
最åŽè¦æ¾„清一下,虽然0.9aæœ‰è¿™æ ·çš„é—®é¢˜ï¼Œä½†æ˜¯ä½œä¸ºä¸€ä¸ªä»ç„¶åœ¨sandbox当ä¸çš„项目,这个扩展已ç»åšå¾—ç›¸å½“çš„å¥½ç”¨ã€‚æ ¹æ®ä½œè€…æœ€è¿‘çš„ä¸€ç¯‡æ–‡ç« å½“ä¸æ‰€è¯´ï¼Œ1.0a版本支æŒä¸€ä¸ªéžå¸¸cool的特性:直接将一个XPCOM组件导出æˆä¸ºJavascript/C++/Python的代ç 。对于有æ„在Firefoxå¹³å°ä¸Šé¢åšç‚¹äº‹æƒ…的朋å‹ï¼Œè¿™ä¸ªæ‰©å±•å€¼å¾—推è。