Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
GoogleDrive の アップロードした画像のリンク生成してクリップボードにコピーするブックマークレット
javascript:(function(){var id = window.location.href.split("/")[5];var url = "https://drive.google.com/uc?export=view&id=" + id;var temp = document.createElement('div');temp.appendChild(document.createElement('pre')).textContent = url;var s = temp.style;s.position = 'fixed';s.left = '-100%';document.body.appendChild(temp);document.getSelection().selectAllChildren(temp);var result = document.execCommand('copy');document.body.removeChild(temp);})();
javascript:(function(){var%20id%20=%20window.location.href.split("/")[5];var%20url%20=%20"https://drive.google.com/uc?export=view&id="%20+%20id;window.prompt('Copy%20to%20Clipboard',"!["+document.title+"]("+url+")");})();

ブログの画像を、Google Drive で管理している。
画像は、img タグでリンクさせているが、Google Drive 上でのオペレーションでは画像IDしか取得できず、img タグ用のurl に手動で変換していた。
さすがに面倒になってきたので、画像のプレビューのURLから、img タグ用のurl を生成して、クリップボードにコピーするブックマークレットを作った。
Chrome では動いた。
これで、50%くらいの面倒くささは解消された(と思う。) 実は、Chrome plugin とかがあったりしそう。


Chrome で 動作したブックマークレット

bookmarklet.js が Chrome で使用するブックマークレット
document.execCommand('copy'); でクリップボードにテキストをコピーできる。


Safari で 動作したブックマークレット

bookmarklet_safari.js が Chrome で使用するブックマークレット
Safari は、document.execCommand('copy'); でクリップボードにテキストをコピーができなかった。 一手間かかるが、window.prompt でプロンプトにテキストを表示、それをコピーして使う。


参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment