Google Chrome 上自動驗證 Ptt 十八歲年齡的工具

Ptt 有年齡限制的看板總算是開放 Web 存取了,但有個確認畫面要點總是頗麻煩 XD

前幾天寫了一個 Google Chrome 套件「Ptt Over18」可以自動幫你點確認按鈕:

暫時沒想到要用什麼 icon & 抓什麼畫面,回台灣再說,在日本只想睡覺吃東西... XD

Gmail.js

前幾天看到的「Gmail.js - JavaScript API for Gmail」,這並不是 Google 官方的 JavaScript API,而是給開發瀏覽器套件的人用的 JavaScript API。

甚至有給範例,讓你可以透過 Chrome Console 嘗鮮:

看文件發現比較特別的是提供了 Observe 的功能,可以抓到 Gmail 的事件 :p

移除 Remove Facebook Redirections...

Google Chrome 裝上 Remove Facebook Redirections 可以避免 Facebook 重導,加減提高些隱私性...

不過最近發現當 Facebook 捲頁捲很長時會變得爆慢,但網路上好像沒有人提到這個問題?看起來應該是我的某個 extension 造成的,測了老半天發現是這個 extension 的問題 :o 然後身為工程師的直覺,這八成是每次增加元素後直接對整個 document 全掃一次造成的...

翻 source code 後 (直接到 Default/Extensions/onhdomkbnapoacbialllfpbcckckidck/1.2_0/ 裡的 RemoveFacebookRedirections.js 翻) 可以發現 huntForLinks() 果然就是這樣做...

先移除掉再說 @_@

Chrome 的 webRequest...

在變成標準前又改了一次...

Google Chrome 17 後,「Web Requests」從 Experimental API 變成正式的 API,有不少地方在這次轉成正式 API 後需要修改:

  • 本來 chrome.experimental.webRequest 都改成 chrome.webRequest
  • 需要加上 webRequest permission,如果有 blocking 行為則要再加上 webRequestBlocking permission。
  • API 呼叫的參數可能會不一樣,參考官方的文件的說明比較清楚。我遇到的是使用 onBeforeRequest.addListener 時需要多加上 urls 參數。
  • 不再需要 expiermental permission,不過沒拿掉不影響運作。

Chrome Web Store 上面已經可以看到一些跟控制 Referrer 有關的延伸套件了...

Google Chrome Extension 內攔截所有的 url request...

之前寫了一個處理 Referer header 的 extension,使用 chrome.experimental.webRequest.onBeforeSendHeaders.addListener 攔截所有的 url 然後處理 Referer header。

之前只需要在 manifest.json 裡面加上 experimental 就可以使用,但是前陣子發現失效。剛剛在「onBeforeSendHeaders listeners aren't triggering」這個 issue 裡面找到解法:現在需要多加上 <all_urls> 這組權限。

Google Chrome 的 Cookie 隱私功能...

Firefox 裡,我們可以藉由「預設所有的 cookie 都只能是 session only」加上「例外名單」,做出「關閉瀏覽器就把白名單以外的 cookie 清掉」的功能,但在 Google Chrome 裡面,用內建的功能做不到這件事情。(他只能做到關閉時全部清除,沒辦法把白名單清除在外)

剛剛找到一個 extension 實做了這個功能:「Vanilla Cookie Manager」,在每次打開 Google Chrome 時會清除所有白名單以外的 cookie,也算是做到這個功能了... (雖然我比較喜歡在關掉的時候處理)

繼續找 Google Chrome 上對應的套件...

Mozilla 官方的 Firefox 套件相容性回報程式

順便可以拿來取消版本檢查...

我桌機的 Firefox 雖然是跑 3.6 系列,但筆電上還是跑 Minefield。之前一直都是靠 Nightly Tester Tools 強制套件不要檢查版本,但在 4.0 beta 後一直沒更新,於是 Nightly Tester Tools 就失效了... XD

後來在 comment 的地方看到有人說 Mozilla 官方自己跳出來弄了一個「Add-on Compatibility Reporter」,一樣可以做到這件事情,除此之外還可以回報套件在新版上是否正常...

於是 Minefield 的套件就都跑起來了,測了一下,果然一堆套件在 4.0b3 上爛掉... XD