網上找了一圈,沒啥發現。終于想到去看看google sheet是怎么干的。 " /> 欧美日韩国产色综合一二三四,亚洲香蕉视频,久久一本综合频道

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JS 巧妙獲取剪貼板數據 Excel數據的粘貼

另外的方法就是用flash了,它可以避開瀏覽器的安全限制,但是system類中只有set的方法,另外的clipboard類中倒是能訪問到,但是似乎需要flash10的版本支持。

網上找了一圈,沒啥發現。終于想到去看看google sheet是怎么干的。
發現google sheet實現了excel的純文本的多數據格粘貼,沒有安全限制的需要,沒有使用flash。可能很多人都知道這種方法了,反正我一開始很驚訝的,但是無奈,google的js文件是處理過的,看起來太累了。然后又去找ZOHO sheet,它的js文件只簡單處理了一下,能debug,能看。
原來,其在body上注冊了onkeydown事件,當用戶按下ctrl+v鍵的時候,js將焦點轉移到一個textarea標簽上,這樣,接下來的keyPress和keyUp事件就發生在textarea上了,自然而然的就相當于用戶在textarea中復制了一下,然后,js再將焦點轉移,從textarea中將值取到。這樣就取到了剪貼板內文本數據了。
下面是一個模仿ZOHO sheet實現的小例子。
復制代碼 代碼如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</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事件發生了再去處理數據
            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的文本數據,按照/t,/n就可以分割得到格子和行信息了。但這樣只能得到簡單的純文本的excel值,格子的樣式都弄不到。但我發現一個方法,當向iframe的document中復制的時候(就是在線編輯器的實現方式),這樣能出現一些樣式信息,IE中特別全,估計是因為自己家的產品自己能解析的緣故,FF和Chrome就只能得到行號列寬等一些簡單的屬性。不知道誰有方法能得到比較全的信息。

JavaScript技術JS 巧妙獲取剪貼板數據 Excel數據的粘貼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 武安市| 南江县| 稷山县| 庆安县| 芒康县| 连州市| 洪洞县| 同德县| 康平县| 印江| 改则县| 怀柔区| 德格县| 芜湖县| 秦安县| 上林县| 松江区| 黄石市| 青海省| 康乐县| 金秀| 桐庐县| 永新县| 玉林市| 上饶市| 丹棱县| 巫山县| 开江县| 七台河市| 远安县| 建湖县| 和平区| 莱芜市| 东台市| 越西县| 大宁县| 普兰店市| 泸定县| 水城县| 乌兰县| 伊金霍洛旗|