Tommy 碎碎念

Tommy Wu's blog

修正 FlashBlock 的白名單功能在 Firefox 13 無法正常運作的問題
post by tommy @ 19 六月, 2012 13:36

前不久升級到 Firefox 13 之後, flashblock 的白名單就無法正常使用 (與 AdBlock Plus 搭配時).  作者的建議是停用那些相衝突的 extension.... 不過, 在我的使用上, 我覺得就不管它, 一起用會比較合理些, 頂多是多按一下去跑那些需要的 flash 就可以了.

前兩天, 作者放出了 1.5.16 的新版本, 號稱解決了這個問題. 可以我試的結果, 有些站台可以 (如 NBA), 但有些站台不 (如 MLB).  把 Error Console 打開會發現, 有問題的站台會在 flashblock.js 240 行出現錯誤.

所以我試著改了一下這個地方:

diff --strip-trailing-cr -Nur flashblock.old/content/flashblock/flashblock.js flashblock/content/flashblock/flashblock.js
--- flashblock.old/content/flashblock/flashblock.js 2012-06-18 18:17:50 +0800
+++ flashblock/content/flashblock/flashblock.js 2012-06-19 13:29:01 +0800
@@ -237,7 +237,12 @@
baseURI = ios.newURI(codeBase, node.ownerDocument.characterSet, baseURI);
} catch (e) {} // Ignore invalid codebase attribute
}
- targetURI = ios.newURI(relativeURI, node.ownerDocument.characterSet, baseURI);
+ if (node.ownerDocument) {
+ targetURI = ios.newURI(relativeURI, node.ownerDocument.characterSet, baseURI);
+ }
+ else {
+ targetURI = ios.newURI(relativeURI, null, baseURI);
+ }
}
catch (e) {
Components.utils.reportError(e);

改了之後, 在我這兒會用到的站台似乎都沒有問題了.

如果你有類似的問題, 可以把 profile 下的 extensions\{3d7eb24f-2740-49df-8937-200b1cc08f8a}\chrome 底下的 flashblock.jar 解開來 (這是個 zip 檔案),  然後改 裡頭的 content\flashblock\flashblock.js 內容 (如上), 然後再把檔案壓縮回去 (zip 格式, 再改名為 .jar).

如果不想自己改, 可以等作者更新或抓這個回去: http://www.teatime.com.tw/~tommy/files/flashblock.jar

PS. 記得把 Firefox 關了再改.

Del.icio.us Furl HEMiDEMi Technorati MyShare
Bad Behavior 已經阻擋了 53 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS