Home >Web Front-end >JS Tutorial >How to use Jquery cross-browser text copy plug-in Zero Clipboard_jquery

How to use Jquery cross-browser text copy plug-in Zero Clipboard_jquery

PHP中文网
PHP中文网Original
2016-05-16 15:13:111391browse

When developers need to click and copy a certain part of the text, it is relatively simple to implement it under IE. But it is more difficult to achieve cross-browser. Zero Clipboard uses Flash for copying, so it can run as long as the browser has Flash installed, and is more flexible than IE's document.execCommand("Copy").

The implementation principle of Zero Clipboard

Zero Clipboard uses Flash to copy. There was a previous Clipboard Copy solution, which used a hidden Flash. But the latest Flash Player 10 only allows operations on Flash to activate the clipboard. So Zero Clipboard improved this and used a transparent Flash to float above the button. In this way, what is actually clicked is not the button but the Flash, and the copy function of Flash can be used.

Zero Clipboard Features:
Compatible with Flash 10
Avoid using third-party browser plug-ins (security conflicts in Adobe Flash browsers)
Invisible coverage, no interference, page Design
Supports CSS "hover" and "active" states
Preserves the "click", "mouseenter" and "mouseleave" events of the target element
Provides callback functions "copy before" and "copy"
Extremely light weight! (7KB condensed)

First download Zero Clipboard and unzip it. Two files are required: ZeroClipboard.js and ZeroClipboard.swf. Put these two files into your project.
Click to download: jquery.zclip.1.1.1

Usage:

  1. ) First introduce the core file

The code is as follows:

<script type="text/javascript" 
src="js/jquery.js"></script>
<script type="text/javascript" 
src="js/jquery.zclip.js"></script>

2.) Write the function module in the page code and define the copy button element attribute information

<script language="javascript">
$(document).ready(function(){
   
    $(&#39;a#copy-description&#39;).zclip({
        path:&#39;js/ZeroClipboard.swf&#39;,
        copy:$(&#39;p#description&#39;).text()
    });
   
    // The link with ID "copy-description" will copy
    // the text of the paragraph with ID "description"
   
   
    $(&#39;a#copy-dynamic&#39;).zclip({
        path:&#39;js/ZeroClipboard.swf&#39;,
        copy:function(){return $(&#39;input#dynamic&#39;).val();}
    });
   
    // The link with ID "copy-dynamic" will copy the current value
    // of a dynamically changing input with the ID "dynamic"
   
});
</script>

Example 1:

<a href="#" id="copy-description">点击复制效果预览</a>
<p 
id="description">文本源……</p>

Example 2:

<a href="#" id="copy-dynamic">点击复制效果预览:</a><input 
style="width:300px; margin-left:15px;" type="text" id="dynamic" value="Insert 
any text here." onfocus="if(this.value==&#39;Insert any text here.&#39;){this.value=&#39;&#39;}" 
onblur="if(this.value==&#39;&#39;){this.value=&#39;Insert any text here.&#39;}" />

3.) Provide customized callback function.

<script language="javascript">
$(document).ready(function(){
   
    $("a#copy-callbacks").zclip({
        path:&#39;js/ZeroClipboard.swf&#39;,
        copy:$(&#39;#callback-paragraph&#39;).text(),
        beforeCopy:function(){
            $(&#39;#callback-paragraph&#39;).css(&#39;background&#39;,&#39;yellow&#39;);
            $(this).css(&#39;color&#39;,&#39;orange&#39;);
        },
        afterCopy:function(){
            $(&#39;#callback-paragraph&#39;).css(&#39;background&#39;,&#39;green&#39;);
            $(this).css(&#39;color&#39;,&#39;purple&#39;);
            $(this).next(&#39;.check&#39;).show();
        }
    });
   
});
</script>

3.) Default parameters.


Extension introduction:
1.) Tested to be compatible with IE6, IE7, IE8, FF 3.6, Chrome 8, Safari 5, Opera 11
2.) Appropriate CSS effects:

/* zClip is a flash overlay, so it must provide */
/* the target element with 
"hover" and "active" classes */
/* to simulate native :hover and :active 
states. */
/* Be sure to write your CSS as follows for best results: 
*/
 
/*大概意思就是说 
ZeroClip是flash叠加……就是说flash叠加在了text文本上,其实显示文字可以根据css来定义*/
a:hover, a.hover 
{...}
a:active, a.active {...}

Online demo:
1. http://demo.jb51.net/js/2016/jquery_zclip/demo1.html
2. http:// demo.jb51.net/js/2016/jquery_zclip/demo2.html

At this point, the introduction of how to use the plug-in has been completed. For user developers, the remaining extensions must be based on needs. It’s settled.

The above is the usage method of Jquery cross-browser text copy plug-in Zero Clipboard_jquery content. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn