在 IE 執行剪貼簿功能
如果你想讓使用者按下一個按鈕就把整段文字的內容填入剪貼簿,那麼你或許會想要使用如下的 JavaScript 指令:
CopiedTxt = document.getElementById('myText").createRange();
CopiedTxt.execCommand(”Copy”);
很不幸的,在 IE 瀏覽器中可能不能執行這段指令,它會指出 createRange 這道指令「物件不支援此屬性或方法」。事實上,你光從 Visual Studio 2008 中 JavaScript 的 Intellisense 下面已經找不到物件的 select()、createRange() 或 execCommand() 等方法了,這表示上述方法都並不受到支援。
對於 IE 瀏覽器,你應該使用 JavaScript 的 window.clipboardData.setData() 指令,如下例:
<script type="text/javascript" language="javascript">
function CopyToClipboard() {
var ite = document.getElementById('myGridView’);
ite.focus();
window.clipboardData.setData('Text', ite.innerHTML);
}
</script>
...
<input name="btnCopyToClipboard" type="button" value="複製" onclick="CopyToClipboard();" />
<div id="myGridView">
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" ShowHeader="true"
...
</div>
在這個範例中,當使用者按下「複製」按鈕後,程式會把 GridView 控制項內容完整的複製到剪貼簿裡面去,以方便他/她再貼到 Word 或 Excel 裡。
那麼,如果你是想把剪貼簿裡的資料取出來,那麼可以使用 JavaScript 的 window.clipboardData.getData('Text') 指令。
張貼留言