亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS 巧妙獲取剪貼板數(shù)據(jù) Excel數(shù)據(jù)的粘貼

 更新時(shí)間:2009年07月09日 22:50:38   作者:  
最近需要在瀏覽器端實(shí)現(xiàn)excel數(shù)據(jù)的粘貼,一開始去找獲取剪貼板數(shù)據(jù)的方法。但是在瀏覽器端,JS去取是受安全限制的。
另外的方法就是用flash了,它可以避開瀏覽器的安全限制,但是system類中只有set的方法,另外的clipboard類中倒是能訪問到,但是似乎需要flash10的版本支持。

網(wǎng)上找了一圈,沒啥發(fā)現(xiàn)。終于想到去看看google sheet是怎么干的。
發(fā)現(xiàn)google sheet實(shí)現(xiàn)了excel的純文本的多數(shù)據(jù)格粘貼,沒有安全限制的需要,沒有使用flash。可能很多人都知道這種方法了,反正我一開始很驚訝的,但是無奈,google的js文件是處理過的,看起來太累了。然后又去找ZOHO sheet,它的js文件只簡單處理了一下,能debug,能看。
原來,其在body上注冊(cè)了onkeydown事件,當(dāng)用戶按下ctrl+v鍵的時(shí)候,js將焦點(diǎn)轉(zhuǎn)移到一個(gè)textarea標(biāo)簽上,這樣,接下來的keyPress和keyUp事件就發(fā)生在textarea上了,自然而然的就相當(dāng)于用戶在textarea中復(fù)制了一下,然后,js再將焦點(diǎn)轉(zhuǎn)移,從textarea中將值取到。這樣就取到了剪貼板內(nèi)文本數(shù)據(jù)了。
下面是一個(gè)模仿ZOHO sheet實(shí)現(xiàn)的小例子。
復(fù)制代碼 代碼如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標(biāo)題文檔</title>
<script type="text/javascript"><!--
    function cellkeydown(event) {
        if (event.ctrlKey && event.keyCode == 86) {
            var ss = document.getElementById("textArea");
            ss.focus();
            ss.select();
            // 等50毫秒,keyPress事件發(fā)生了再去處理數(shù)據(jù)
            setTimeout("dealwithData()",50);
        }    
    }
    function dealwithData(event) {
            var ss = document.getElementById("textArea");
            alert(ss.value);
            ss.blur();
    }
// --></script>
</head>
<body onkeydown="return cellkeydown(event)">
<div>
    <textarea id="textArea">

獲得的Excel的文本數(shù)據(jù),按照\t,\n就可以分割得到格子和行信息了。但這樣只能得到簡單的純文本的excel值,格子的樣式都弄不到。但我發(fā)現(xiàn)一個(gè)方法,當(dāng)向iframe的document中復(fù)制的時(shí)候(就是在線編輯器的實(shí)現(xiàn)方式),這樣能出現(xiàn)一些樣式信息,IE中特別全,估計(jì)是因?yàn)樽约杭业漠a(chǎn)品自己能解析的緣故,F(xiàn)F和Chrome就只能得到行號(hào)列寬等一些簡單的屬性。不知道誰有方法能得到比較全的信息。

相關(guān)文章

  • JavaScript實(shí)現(xiàn)QQ聊天室功能

    JavaScript實(shí)現(xiàn)QQ聊天室功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)QQ聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript中的繼承方式詳解

    JavaScript中的繼承方式詳解

    這篇文章主要介紹了JavaScript中的繼承方式詳解,本文講解了js繼承的概念、原型式繼承與類式繼承、原型鏈繼承、類式繼承、組合繼承、原型式繼承等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • 淺析我對(duì)JS延遲異步腳本的思考

    淺析我對(duì)JS延遲異步腳本的思考

    這篇文章主要介紹了淺析我對(duì)JS延遲異步腳本的思考,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 谷歌地圖打不開的解決辦法

    谷歌地圖打不開的解決辦法

    這篇文章主要介紹了谷歌地圖打不開的解決辦法,本文給出了一個(gè)可以正常使用的谷歌地圖調(diào)用案例,需要的朋友可以參考下
    2014-08-08
  • JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))

    JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))

    這篇文章主要介紹了JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 自定義事件解決重復(fù)請(qǐng)求BUG的問題

    自定義事件解決重復(fù)請(qǐng)求BUG的問題

    下面小編就為大家?guī)硪黄远x事件解決重復(fù)請(qǐng)求BUG的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 監(jiān)控微信小程序中的慢HTTP請(qǐng)求過程詳解

    監(jiān)控微信小程序中的慢HTTP請(qǐng)求過程詳解

    這篇文章主要介紹了監(jiān)控微信小程序中的慢HTTP請(qǐng)求過程詳解,F(xiàn)undebug 的微信小程序監(jiān)控插件在 0.5.0 版本已經(jīng)支持監(jiān)控 HTTP 請(qǐng)求錯(cuò)誤,在小程序中通過wx.request發(fā)起 HTTP 請(qǐng)求,如果請(qǐng)求失敗,會(huì)被捕獲并上報(bào),需要的朋友可以參考下
    2019-07-07
  • js防抖具體實(shí)現(xiàn)以及詳細(xì)原理步驟說明(附實(shí)例)

    js防抖具體實(shí)現(xiàn)以及詳細(xì)原理步驟說明(附實(shí)例)

    節(jié)流和防抖這里兩個(gè)詞可能對(duì)一些初入JavaScript的同學(xué)比較陌生,下面這篇文章主要給大家介紹了關(guān)于js防抖具體實(shí)現(xiàn)以及詳細(xì)原理步驟的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 深入理解Javascript中this的作用域

    深入理解Javascript中this的作用域

    這篇文章主要介紹了深入理解Javascript中this的作用域,本文用大量例子來深入探討this的作用域,需要的朋友可以參考下
    2014-08-08
  • Bootstrap按鈕功能之查詢按鈕和重置按鈕

    Bootstrap按鈕功能之查詢按鈕和重置按鈕

    一般情況下,查詢列表有查詢條件、查詢按鈕和重置按鈕,輸入查詢條件,點(diǎn)擊查詢按鈕查詢列表等數(shù)據(jù);點(diǎn)擊重置按鈕會(huì)將查詢條件恢復(fù)到原始狀態(tài)。接下來通過本文給大家介紹bootstrap實(shí)現(xiàn)查詢按鈕和重置按鈕的方法,一起看看吧
    2016-10-10

最新評(píng)論