最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GWT中復(fù)制到剪貼板 js+flash實現(xiàn)復(fù)制 兼容性比較好

 更新時間:2010年03月07日 12:34:56   作者:  
今天看到有個Google Code的項目,叫ZeroClipboard,大意是使用flash作為媒介,將內(nèi)容復(fù)制到剪貼板。這比用純javascript好,因為不同瀏覽器會出于安全的原因,有不同反應(yīng),例如IE會給出提示,有的瀏覽器不支持復(fù)制到剪貼板。

但是用flash就可以復(fù)制。例子就是VeryCd,看“復(fù)制選中的連接”按鈕是一個flash。看來flash的安全沙箱沒有限制將內(nèi)容復(fù)制到剪貼板 

 

 

但是也是有限制的: 

1 根據(jù)ZeroClipborad的人們說,這些flash必須通過網(wǎng)絡(luò)加載。

 Zero Clipboard Does Not Work From Local Disk


This is a security restriction by Adobe Flash Player. Unfortunately, since we are utilizing the JavaScript-to-Flash interface ("ExternalInterface") this only works while truly online (if the page URL starts with "http://" or "https://"). It won't work running from a local file on disk.

However, there is a way for you to edit your local Flash Player security settings and allow this. Go to this website:

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html

And add the path to your local "ZeroClipboard.swf" file to the trusted files list, or try the "allow all" option.


 

2 flash雖然提供復(fù)制功能,但是前提是要通過用戶的一次點(diǎn)擊。意思就是不能在javascript中通過函數(shù)的方式setText就復(fù)制到剪貼板,而是調(diào)用了這個setText函數(shù)后,用戶的鼠標(biāo)在flash上有了一次點(diǎn)擊,才可以。

This library is fully compatible with Flash Player 10, which requires that the clipboard copy operation be initiated by a user click event inside the Flash movie.  

這里和使用flash上傳文件的swfupload有同樣的問題。 


使用ZeroClipboard,可以將網(wǎng)頁內(nèi)容復(fù)制到剪貼板。但是ZeroClipboard沒有GWT封裝,我們項目是用GWT的,所以就學(xué)著swfupload的GWT封裝,把ZeroClipboard也封裝成GWT可以調(diào)用的形式。

1 先封裝了一個zeroclipboard.jar 

2 項目中使用的是GXT控件庫,為了和控件緊密結(jié)合,寫了一個ZClipboardBinder類,將兩者結(jié)合起來

3 使用方法見下(Zeroclipboard_test.java)

復(fù)制代碼 代碼如下:

package zero.clipboard.test.client;
import java.util.Date;
import zero.clipboard.test.client.ZClipboardBinder.ClipboardListener;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class Zeroclipboard_test implements EntryPoint {
public void onModuleLoad() {
LayoutContainer c = new LayoutContainer();
c.setSize(400, 300);
Button btn = new Button("Copy Hello World");
// 將控件和ZeroClipboard綁定
// ZClipboardBinder.bind(btn, "Hello World");
ZClipboardBinder.bind(btn, new ClipboardListener() {
@Override
public String prepareCopy() {
return (new Date()).toString();
}
});
c.add(btn);
RootPanel.get().add(c);
}
}

相關(guān)下載都在附件中了。 

attachment.zip

示意結(jié)果

 
點(diǎn)擊按鈕后——其實是點(diǎn)擊了上面的flash,使用ctrl+v,就能看到結(jié)果。


現(xiàn)在發(fā)現(xiàn)有很多有意義的功能都不能用javascript實現(xiàn),例如多文件上傳和復(fù)制到剪貼板,都是通過flash做中介,“曲線”實現(xiàn)的 ,不知道最后HTML5有沒有解決這些問題,不用我們兜兜轉(zhuǎn)轉(zhuǎn)。
Zero Clipboard 開源的 JavaScript+flash 復(fù)制庫類 

您可能感興趣的文章:

相關(guān)文章

  • JavaScript中關(guān)于base64的一些事

    JavaScript中關(guān)于base64的一些事

    base64 其實是一種編碼轉(zhuǎn)換方式, 將 ASCII 字符轉(zhuǎn)換成普通文本, 是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一。這篇文章重點(diǎn)給大家介紹JavaScript中關(guān)于base64的一些事,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • JavaScript+html實現(xiàn)前端頁面滑動驗證(2)

    JavaScript+html實現(xiàn)前端頁面滑動驗證(2)

    這篇文章主要為大家詳細(xì)介紹了JavaScript+html實現(xiàn)前端頁面滑動驗證的第二種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Layer.js實現(xiàn)表格溢出內(nèi)容省略號顯示,懸停顯示全部的方法

    Layer.js實現(xiàn)表格溢出內(nèi)容省略號顯示,懸停顯示全部的方法

    今天小編就為大家分享一篇Layer.js實現(xiàn)表格溢出內(nèi)容省略號顯示,懸停顯示全部的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript中setInterval()和setTimeout()的用法及區(qū)別

    JavaScript中setInterval()和setTimeout()的用法及區(qū)別

    這篇文章主要給大家介紹了關(guān)于JavaScript中setInterval()和setTimeout()用法及區(qū)別的相關(guān)資料,Javascript的setTimeOut和setInterval函數(shù)應(yīng)用非常廣泛,它們都用來處理延時和定時任務(wù),需要的朋友可以參考下
    2023-11-11
  • js正則表達(dá)式驗證表單【完整版】

    js正則表達(dá)式驗證表單【完整版】

    本篇文章主要介紹了js正則表達(dá)式驗證表單的實例,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 詳解webpack介紹&安裝&常用命令

    詳解webpack介紹&安裝&常用命令

    本篇文章主要介紹了詳解webpack介紹&安裝&常用命令,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法

    關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法

    今天小編就為大家分享一篇關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 原生js實現(xiàn)簡易抽獎系統(tǒng)

    原生js實現(xiàn)簡易抽獎系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了原生js實現(xiàn)簡易抽獎系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • JS操作字符串轉(zhuǎn)數(shù)字的常見方法示例

    JS操作字符串轉(zhuǎn)數(shù)字的常見方法示例

    這篇文章主要介紹了JS操作字符串轉(zhuǎn)數(shù)字的常見方法,結(jié)合實例形式分析了javascript字符串類型轉(zhuǎn)換的常用方法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • 微信小程序自定義組件與頁面的相互傳參

    微信小程序自定義組件與頁面的相互傳參

    這篇文章主要為大家介紹了微信小程序自定義組件與頁面的相互傳參過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評論

兴文县| 平阳县| 武鸣县| 白山市| 景宁| 沁源县| 恩施市| 湾仔区| 洛扎县| 兴山县| 怀柔区| 洛扎县| 清河县| 姜堰市| 逊克县| 稻城县| 外汇| 田东县| 浦北县| 江都市| 集贤县| 万载县| 武山县| 滦南县| 普兰店市| 日照市| 海原县| 上饶县| 孙吴县| 台东市| 逊克县| 双柏县| 芦溪县| 松阳县| 达尔| 阳山县| 宣武区| 保定市| 四会市| 健康| 湘潭市|