2007年7月13日 星期五

使用Javascript複製 HTML格式的資料到剪貼簿

在工作上有遇到一個需求,就是要將網頁上的部分內容,讓使用者剪貼到Blog的HTML 編輯器,

原本很單純的想法就是使用 :
window.clipboardData.setData("Text", "HTML code goes here");

將網頁內容的HTML Copy 到 clipboard,但後來測試才發現這樣貼到 Blog的HTML 編輯器後,只是顯示出HTML 原始碼而已,而不是我要的網頁內容,google 了一下發現 window.clipboardData.setData 的第一個參數只有 "Text" 跟 "URL" 這兩種,並不支援 Copy HTML 格式的資料到剪貼簿,後來是試了好一陣子,終於找到下面的方法:

function CopyContent(sContenID)
{
var ctrlRange = document.body.createControlRange();
ctrlRange.add(document.all(sContenID));
ctrlRange.execCommand("Copy");
alert("已複製到剪貼簿");
}

這個function 可以將傳進來的的 tag 裡面的內容,用 HTML format copy到 Clipboard ,但有以下的限制:

  • 只能在IE 使用 :(
  • 如果該 tag 是 那要設成 可編輯才可以
  • <a href="http://www.blogger.com/...">是不能傳進去的

沒有留言: