クリップボードにコピー
Chromeのcopyは, たしか, 隠しinput[type=text]作ってcopyさせたいものをvalueにいれて, selectionStart/Endをいじって, focusあてて, document.execCommand('copy')すればJSだけでできる.
http://twitter.com/Constellation/status/7188365498
これを参考にcopy関数を作ってみた。Internet Explorer、Safari、Google Chromeで動く。FirefoxとOperaで上手くいく方法は発見できず。
おまけでFirebugの入ってるFirefoxでも動くようにしてみた。
function copy(text) { var input, success; if ("console" in window && "notifyFirebug" in console) { console.notifyFirebug([text], "copy", "firebugExecuteCommand"); success = true; } else { input = document.createElement("input"); input.style.position = "absolute"; input.style.top = "-100px"; input.value = text; input.hidden = true; document.body.appendChild(input); input.select(); try { success = document.execCommand("copy", false, null); } catch (ex) { success = false; } finally { document.body.removeChild(input); } } if (!success) { prompt("Press Ctrl+V", text); } } // copy("hello!");