`

点击按钮复制文本框内容

    博客分类:
  • css
阅读更多

点击按钮复制文本框内容预览地址:http://www.365css.cn/example/copyinput/

但IE6两行JS代码就可以,IE7以上也差不多,只不过出来一个安全提示比较恶心,用户如果看到了,一定有怀疑;
再但就是Firefox、Chrome等根本就不让你复制;

记得以前网上有这方面的代码,找了一下,发现全部不能在firefox3.5以上的版本中应该,最后终于找到了一个,代码还相当相当的复杂,不太敢用。
最后,憋的实在没有办法了,查了查资料,自已写了一个:

主要的理解的几个点:
1、Firefox这些浏览器,出于安全考虑吧,直接是不让复制的;
2、在Flash中,可以用System.setClipboard(),把内容扔到剪贴板上,然后再让FLASH工作在Firefox下;
3、在Flash播放器10.0之后呢,也是出于安全考虑吧,System.setClipboard的内容必须在FLASH里边;
4、用ExternalInterface可以和JS通信;
5、ExternalInterface在flash8中必须引用一下才可以;

默认的HTML代码:

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

所以,设计的时候,先作第一个判断,如果是IE,就还用默认的代码,这样最没有问题,如果不是,就用一个FLASH把默认的按钮覆盖;

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

以下是所有的JS文件:

 

  1. <script>  
  2. function $(id){  
  3.     return document.getElementById(id);  
  4. }  
  5.   
  6. function copy(){//ie6  
  7.     var value = $('testInput').value;    
  8.     window.clipboardData.clearData();     
  9.     window.clipboardData.setData("Text", value);   
  10.     alert('复制成功!');   
  11. }  
  12.   
  13. function flashCopy(){//firefox .......  
  14.     return $('testInput').value;    
  15. }  
  16.   
  17. function flashCopyBack(){  
  18.     alert(' 复制成功!');  
  19. }  
  20.   
  21. if("v" != "v"){//如果不是IE时,就用FLASH的方式复制  
  22.     $('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>';  
  23. }  
  24. </script> 


FLASH按钮的代码如下:

  1. on (release) {  
  2.     import flash.external.ExternalInterface;  
  3.     var inputText = ExternalInterface.call('flashCopy');  
  4.     System.setClipboard(inputText);  
  5.     ExternalInterface.call('flashCopyBack');  
  6.     //_root.boboText.text = inputText;  

原理,就是避开那个安全上的限制,在点FLASH中的按钮时,通过FLASH中的代码去调页面中的JS代码,JS代码可以拿到INPUT中的值,然后再传 给FLASH,这时,FLASH中就有了这些值了,然后,FLASH自已再通过System.setClipboard把这些值存到剪贴板上; 再然后,他再去调用页面中的flashCopyBack,flashCopyBack只干一件事,就是提示已复制成功!

我在Firefox、chrome、ie中都测过了,没有问题,如果谁发现有问题,请告诉我,谢谢,因为我现在已经开始用!

分享到:
评论

相关推荐

    点击复制文本框内容的代码

    在网页或应用程序中,我们经常需要提供一种方便用户快速复制文本框内容的功能,例如代码片段、文章或重要信息。实现这个功能涉及前端开发,通常使用JavaScript来处理用户的交互行为。下面我们将详细讨论如何实现...

    C#按钮和文本框的使用

    比如,用户在文本框中输入数据,然后点击按钮,程序读取文本框的内容并执行相应的操作。这在登录界面、搜索框、表单提交等功能中非常常见。 除了基本的点击事件,按钮还有其他事件,如鼠标悬停(MouseHover)、鼠标...

    一个任意复制的VB文本框

    因此,如果你在复制文本框内容前已经在其他地方复制了文本,这部分内容仍然可以在其他地方粘贴。 在VB编程中,剪切板操作是非常实用的功能,常用于数据传递和用户交互。通过理解和运用这些基础,开发者可以创建更...

    复制文本框的内容到剪贴板

    ### 复制文本框的内容到剪贴板 在日常的编程工作中,经常需要将文本框中的内容复制到剪贴板中以便进行进一步的操作,比如粘贴到其他文档中或者用于程序内部的数据处理等。本文将详细介绍如何使用JavaScript来实现这...

    1. 编写一个 Java 程序, 在程序中建立一个窗口, 有两个文本框和一个按钮, 单击按钮, 能把左边文本框中的内容复制到右边文本框中.

    1. 编写一个 Java 程序, 在程序中建立一个窗口, 有两个文本框和一个按钮, 单击按钮, 能把左边文本框中的内容复制到右边文本框中.

    Vue实现点击按钮复制文本内容的例子

    点击复制功能主要通过 clipboard.js 来实现 在vue中使用clipboard.js 时候发现一个问题,就是如果不是input或者button 按钮的话,则复制不成功,使用步骤如下: 1、引入clipboard.js,方法如下: 第一种直接npm安装...

    JavaScript实现点击按钮复制指定区域文本(推荐)

    总结来说,JavaScript实现点击按钮复制指定区域文本的核心在于创建并操作`Range`和`Selection`对象,以及使用`document.execCommand('copy')`命令。通过理解这些概念和技术,开发者可以为网页添加便捷的复制功能,...

    文本框根据输入内容自动调整大小

    当用户在文本框中输入大量文字时,如果文本框的尺寸固定,可能会导致部分文字无法显示,或者需要滚动查看全部内容。为了解决这个问题,我们可以实现一个功能,使文本框能够根据输入内容自动调整其大小。这就是...

    jQuery简单实现点击文本框复制内容到剪贴板上的方法

    在这个实例中,我们将探讨如何使用jQuery来实现一个功能,即当用户点击文本框时,自动将文本框中的内容复制到剪贴板上。这个功能在很多网站中都有应用,例如复制链接、代码或重要信息。 首先,我们需要了解浏览器对...

    Javascript 实现复制(Copy)动作方法大全_.docx

    一、实现点击按钮,复制文本框中的内容 本方法通过使用 `execCommand("Copy")` 方法来实现复制文本框中的内容。首先,需要获取文本框的对象,然后使用 `select()` 方法选择对象,最后使用 `execCommand("Copy")` ...

    按钮JS复制文本框和表格的代码

    点击按钮,通过JS代码实现复制INPUT表单: 代码如下: [removed] function copyinput() { var input=document.getElementById(“inputid”);//input的ID值 input.select(); //选择对象 document.execCommand(“Copy...

    VB里怎么可以点击1个按钮就复制当前窗体里的指定文本框的内容到另1个窗体的一个文本框里.txt

    综上所述,通过以上步骤和建议,我们可以实现在VB中通过简单的按钮点击事件将一个窗体中的文本框内容传递给另一个窗体的相同类型控件的功能。这种数据传递机制不仅简单高效,而且易于理解和维护。

    TextBoxTest文本复制

    在这个项目中,用户可以从一个文本框选择文本,然后通过点击“复制”按钮将选定的内容复制到另一个文本框。 TextBox是Windows Forms或WPF等开发框架中的一个基本控件,用于显示和编辑单行或多行文本。在TextBoxTest...

    js表单文本框内容互换代码.zip

    在这个名为"js表单文本框内容互换代码"的压缩包中,我们可以预见到包含了一个或多个JavaScript文件,它们的目的是实现表单内文本框(input元素)之间的内容互换功能。这种功能常见于用户需要在两个输入框之间交换...

    WPS文字将两个文本框中的内容串连起来.docx

    - 在第一个文本框中输入内容(或复制粘贴)直到文本框内容即将溢出。 - 在第一个文本框上单击鼠标右键,选择“创建文本框链接”。 - 将鼠标移至第二个文本框中,此时鼠标图标会变为一个带把手的“口杯”形状,单击...

    Javascript 实现复制(Copy)动作方法大全

    这种方法通过绑定按钮的点击事件,触发复制文本框内容的函数。具体步骤如下: 1. 使用`document.getElementById`获取要复制内容的文本框元素。 2. 使用`select()`方法选中文本框内的内容。 3. 使用`document....

    Week5_1_must9nl_文本框类容的复制_

    1. 访问文本框内容:每个TextBox对象都有一个名为Text的属性,用于获取或设置文本框中显示的文本。例如,`textBox1.Text`可以用来获取或修改文本框1的内容。 2. 复制内容:在.NET框架中,没有直接的“复制”方法...

    易语言组件复制及事件处理源码

    在易语言中,组件(或称控件)是用户界面的重要组成部分,如按钮、文本框等,它们可以通过拖放的方式添加到窗口上,并通过编写事件处理代码来实现特定功能。 组件复制在易语言中通常涉及以下几个步骤: 1. **选择...

    单线程的绘图程序,有一个按钮和标签,标签可以在上面画线,单击按钮后则进入无限循环。

    程序的主要功能是创建一个包含按钮和标签的窗口,在用户点击按钮后,应用程序会进入一个无限循环状态,并且用户可以在标签上通过鼠标点击来绘制线条。 #### 二、主要组件介绍 1. **JFrame**:Swing中的顶级容器,...

Global site tag (gtag.js) - Google Analytics