使用帶有Windows 剪貼板的CF_HTML Clipboard Format的確容易讓人搞胡涂,一部分是因為它不是clipboard format中自帶的剪貼板;它是一個注冊格式(registered format),所以不是一個常量,因為它的值會因為系統的不同而產生變化。你可以通過一個簡單的API調用 -- RegisterClipboardFormat來獲得一個注冊剪貼板格式的值。這個函數的首次調用會通過一個給定的字符串來執行,它返回一個范圍在C000-FFFF之間的唯一值。每一個在系統上處理的后續調用(subsequent call)會返回同樣的值。用于這種格式中的關鍵字符串就是“HTML Format”:
成都創新互聯專注于大英網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供大英營銷型網站建設,大英網站制作、大英網頁設計、大英網站官網定制、小程序制作服務,打造大英網絡公司原創品牌,更為您提供大英網站排名全網營銷落地服務。
你必須首先構建一個描述性的header,并在將HTML數據放入剪貼板之前先把它放到數據中。這個header會給其他程序提供描述版本信息、HTML起始數據的偏移量(offset),以及有關實際選擇范圍(actual selection)起始地方的信息。用戶可能會選擇的HTML文檔的一部分甚至只是一個元素(比如一個table中的幾行)作為一個選擇區域。頁面的其他部分,比如內聯樣式定義(inline style definitions)則可能會被要求進行完全渲染(render)。你不僅需要將最初所選擇的HTML區域放入剪貼板,而且還需要放入一個header,它看起來就像是這樣:
Version:1.0
StartHTML:000000258
EndHTML:000001491
StartFragment:000001172
EndFragment:000001411
應應用程序通過StartFragment和EndFragment屬性來決定哪些數據需要粘貼,這些數據或許會(也可能不會)用剩下的HTML對所選擇的部分進行格式安排。你必須將HTML注釋放入數據中以便將來對所選部分進行識別。很明顯,你必須在構建最后的header之前完成它,否則偏移量會有變化。一個用于所選數據的opening/closing注釋標簽分別是“!--StartFragment--”和“!--EndFragment--”
//方法一:只對IE有效:
script
function?copyToClipboard()?{?
var?d?=?document.all("source").value;?
window.clipboardData.setData('text',?d);?
}?
/script
button?onclick="copyToClipboard();"拷貝/button?
input?type="text"?size=20?id="source"?value="測試數據"
button?onclick="alert(window.clipboardData.getData('text'));"顯示/button?
button?onclick="window.clipboardData.clearData('text');"清空/button
直接復制是個很危險的操作,所以為了安全谷歌和其他瀏覽器都做了阻止,當然出來IE這種垃圾瀏覽器以外。目前網上的都是借助flash來達到兼容,其他的方法還真沒見過。另外html5當然以谷歌內核為主:有條報道:Chrome doesn't do document.execCommand('copy') since October 2010.
2010年后谷歌就不允許使用上述方法復制了。當然可以以提醒的方法來做:
function?copyToClipboard(text)?{
window.prompt("Copy?to?clipboard:?Ctrl+C,?Enter",?text);
}
首先加載本地clipboard.js文件;
然后就是在body中加上要復制或剪切的文本域內容以及按鈕;
使用了HTML5的data-屬性,用來定位復制對象目標,它指向了文本域#foo,說明復制的是#foo中的value內容,aria-label屬性定義了復制成功后的信息,用來提示復制結果信息。
H5edu教育HTML5開發復制到剪貼板用插件實現簡單些jQuery插件:跨瀏覽器復制jQuery-zclipjQuery-zclip是一個復制內容到剪貼板的jQuery插件,使用它我們不用考慮不同瀏覽器和瀏覽器版本之間的兼容問題。jQuery-zclip插件需要Flash的支持,使用時記得安裝AdobeFlashPlayer。
文章題目:html5剪貼板,js設置剪貼板
鏈接分享:http://vcdvsql.cn/article0/dsdgdoo.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、網站建設、網站導航、服務器托管、網站內鏈、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯