PDF へのリンクに Google Docs Viewer で開くリンクを追加するスクリプト (ブックマークレット, JSActions, Vimperator)

サイト内の PDF, PPT, TIF へのリンクに Google Docs Viewer で開くリンクを追加するスクリプトです。
ブックマークレット版・Vimperator script 版・JSActions script 版の3種あります。
Vimperator script 版と JSActions script 版は Firefox とそれぞれの拡張機能が必要です。

ブックマークレット版

以下のスクリプトをブックマークのアドレス欄にコピーして利用してください。

javascript:(function(){if%20((location.href.indexOf('http://docs.google.com/')%20==%20-1))%20{var%20counter%20=%200;var%20exts%20=%20['pdf',%20'ppt',%20'tif'];var%20xpath%20=%20(function()%20{var%20x%20=%20'//a[';for%20(var%20i=0;%20i<exts.length;%20i++)%20{x%20+=%20i%20==%200%20?%20''%20:%20'%20or%20';x%20+=%20'substring(@href,%20string-length(@href)%20-%20string-length(".'%20+%20exts[i]%20+%20'")%20+%201)%20=%20".'%20+%20exts[i]%20+%20'"';}x%20+=%20']';return%20x;})();var%20elems%20=%20document.evaluate(xpath,document,%20null,%20XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,%20null);for%20(var%20i=0,len=elems.snapshotLength;%20i<len;%20i++)%20{var%20elem%20=%20elems.snapshotItem(i);if%20(elem.href.indexOf('http://docs.google.com/viewer?url=')%20==%20-1)%20{var%20icon%20=%20document.createElement('IMG');var%20anc%20=%20document.createElement('A');icon.src%20=%20'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAFHSURBVDiNlZOxTgJBEIa/3Ry8gTyD76C9FQbi9cTCRGw1sTQ2FkZKDkKxyRWUNhb2voU9zXFAJwW7h2Mhd+DdhcM/mWQ3O/PvN7NZxUZhGAZAl/0adDqdm9ITY4ys1+u9YYwRY0ywW6fTRZIkAMxmM+I4Jo5jptMpURQRRREAzWaTJEm6o9EoKBg45wBQSv0JrTVKKQCstbTbbZxz3X6/HwCo4ce3VPQNwNWpMJlMqNVq1Ot1xuMxwEA9vR9mcH9WTOv1enjzJbxc7C++e4X5fI7Ir4mI0Gg0sNbiLb7gMqwmSGciItlMVqsV3mIJb+UvC8B5sDXIa0OgOHmuJtBaZy2kygg+H8vnePywvTUlSNvYIYCj2yJeXmUtZATfw3ICfV0k2JVzDi+f+B8Ca+124/u+iEjlh0pDRMT3fclsW63WId85r8EPLeTd8KdMB6AAAAAASUVORK5CYII=';anc.insertBefore(icon,%20anc.firstChild);anc.href%20=%20'http://docs.google.com/viewer?url='%20+%20encodeURIComponent(elem.href);anc.target%20=%20'_blank';elem.parentNode.insertBefore(anc,%20elem.nextSibling);counter++;}}}})();

Vimperator script 版

vimperator-open-google-docs-viewer.js

プラグインディレクトリ(~/.vimperator/plugin/)にスクリプトファイルを設置し Firefox を再起動して下さい。
コマンド行から以下のコマンドを入力することで、サイト内の PDF・PPT・TIF へのリンクに Google Docs Viewer で開くリンクを追加します。

:gdv
または、
:googleDocsViewer

JSActions script 版

Google_Docs_Viewer.js