欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

復制Input內容的js代碼_支持所有瀏覽器,修正了Firefox3.5以上的問題

 更新時間:2010年06月21日 13:36:25   作者:  
今天作一個功能,有一個input,里邊有內容,點一下按鈕就復制里邊的內容到剪貼板

但IE6兩行JS代碼就可以,IE7以上也差不多,只不過出來一個安全提示比較惡心,用戶如果看到了,一定有懷疑;
再但就是Firefox、Chrome等根本就不讓你復制;
記得以前網上有這方面的代碼,找了一下,發(fā)現全部不能在firefox3.5以上的版本中應該,最后終于找到了一個,代碼還相當相當的復雜,不太敢用。
最后,憋的實在沒有辦法了,查了查資料,自已寫了一個:
主要的理解的幾個點:
1、Firefox這些瀏覽器,出于安全考慮吧,直接是不讓復制的;
2、在Flash中,可以用System.setClipboard(),把內容扔到剪貼板上,然后再讓FLASH工作在Firefox下;
3、在Flash播放器10.0之后呢,也是出于安全考慮吧,System.setClipboard的內容必須在FLASH里邊;
4、用ExternalInterface可以和JS通信;
5、ExternalInterface在flash8中必須引用一下才可以;
默認的HTML代碼:
復制代碼 代碼如下:

<input type="text" id="testInput" name="testInput" value="4234324234" />
<div id="buttonBox">
<button onclick="copy('testInput')">copy</button>
</div>

所以,設計的時候,先作第一個判斷,如果是IE,就還用默認的代碼,這樣最沒有問題,如果不是,就用一個FLASH把默認的按鈕覆蓋;
復制代碼 代碼如下:

if (window.XMLHttpRequest){//如果不是IE時,就用FLASH的方式復制
$('buttonBox').innerHTML = '<embed src="flashCopy.swf" width="48"
height="23" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash"></embed>';
}

以下是所有的JS文件:
復制代碼 代碼如下:

<script>
function $(id){
return document.getElementById(id);
}
function copy(){//ie6
var value = $('testInput').value;
window.clipboardData.clearData();
window.clipboardData.setData("Text", value);
alert('復制成功!');
}
function flashCopy(){//firefox .......
return $('testInput').value;
}
function flashCopyBack(){
alert('復制成功!');
}
if("v" != "v"){//如果不是IE時,就用FLASH的方式復制
$('buttonBox').innerHTML = '<embed src="111.swf" width="48" height="23" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>';
}
</script>

FLASH按鈕的代碼如下:
復制代碼 代碼如下:

on (release) {
import flash.external.ExternalInterface;
var inputText = ExternalInterface.call('flashCopy');
System.setClipboard(inputText);
ExternalInterface.call('flashCopyBack');
//_root.boboText.text = inputText;
}

原理,就是避開那個安全上的限制,在點FLASH中的按鈕時,通過FLASH中的代碼去調頁面中的JS代碼,JS代碼可以拿到INPUT中的值,然后再傳給FLASH,這時,FLASH中就有了這些值了,然后,FLASH自已再通過System.setClipboard把這些值存到剪貼板上; 再然后,他再去調用頁面中的flashCopyBack,flashCopyBack只干一件事,就是提示已復制成功!
我在Firefox、chrome、ie中都測過了,沒有問題,如果誰發(fā)現有問題,請告訴我,謝謝,因為我現在已經開始用!
轉載請注明出處:子鼠

相關文章

  • 一些超實用的JS常用算法詳解(推薦!)

    一些超實用的JS常用算法詳解(推薦!)

    算法是計算機算法即計算機能夠執(zhí)行的算法,只有明確了算法后,才能使應用程序實現某些功能,所以通常人們會將算法稱為程序的靈魂,下面這篇文章主要給大家分享介紹了一些超實用的JS常用算法的相關資料,需要的朋友可以參考下
    2022-10-10
  • canvas軌跡回放功能實現

    canvas軌跡回放功能實現

    這篇文章主要介紹了canvas軌跡回放功能實現過程以及相關的代碼整理,跟著小編一起學習下吧。
    2017-12-12
  • JS中精巧的自動柯里化實現方法

    JS中精巧的自動柯里化實現方法

    給大家詳細分析了JS中精巧的自動柯里化實現方法并通過代碼實例分析了過程和原理,參考學習下吧。
    2017-12-12
  • JavaScript 數組展平方法: flat() 和 flatMap()詳解

    JavaScript 數組展平方法: flat() 和 flatMap()詳解

    從 ES2019 中開始引入了一種扁平化數組的新方法,可以展平任何深度的數組,這篇文章主要介紹了JavaScript 數組展平方法: flat() 和 flatMap()詳解,需要的朋友可以參考下
    2023-06-06
  • JavaScript簡單實現的仿微博留言功能示例

    JavaScript簡單實現的仿微博留言功能示例

    這篇文章主要介紹了JavaScript簡單實現的仿微博留言功能,涉及javascript頁面元素屬性動態(tài)操作相關實現技巧,需要的朋友可以參考下
    2019-01-01
  • 一文詳解JavaScript的轉碼方式

    一文詳解JavaScript的轉碼方式

    JavaScript 轉碼是指將 JavaScript 代碼從一種編碼方式轉換為另一種編碼方式,常見的轉碼方式包括 URL 編碼和 Base64 編碼,解碼是前端比較常見的一種操作,本文就給大家講講JavaScript轉碼方式
    2023-09-09
  • js實現鼠標懸停圖片上時滾動文字說明的方法

    js實現鼠標懸停圖片上時滾動文字說明的方法

    這篇文章主要介紹了js實現鼠標懸停圖片上時滾動文字說明的方法,涉及js操作鼠標事件的使用技巧,需要的朋友可以參考下
    2015-02-02
  • JS中數組Array的用法示例介紹

    JS中數組Array的用法示例介紹

    這篇文章主要介紹了JS中數組Array的用法,需要的朋友可以參考下
    2014-02-02
  • JavaScript實現獲取img的原始尺寸的方法詳解

    JavaScript實現獲取img的原始尺寸的方法詳解

    在微信小程序開發(fā)時,它的image標簽有一個默認高度,這樣你的圖片很可能出現被壓縮變形的情況,所以就需要獲取到圖片的原始尺寸對image的寬高設置,本文就來分享一下JavaScript實現獲取img的原始尺寸的方法吧
    2023-03-03
  • 微信小程序學習總結(四)事件與冒泡實例分析

    微信小程序學習總結(四)事件與冒泡實例分析

    這篇文章主要介紹了微信小程序學習總結(四)事件與冒泡,結合實例形式分析了微信小程序事件、冒泡、數據獲取相關機制、原理與操作注意事項,需要的朋友可以參考下
    2020-06-06

最新評論