作为文件运行时使用zclip复制文本

时间:2014-09-16 08:43:30

标签: jquery zclip

我正在尝试使用zclip从html表的主体复制文本。应该是一件简单的事情(例如,我可以复制段落的文本,但不能复制表体的文本)。知道我做错了什么吗?这是小提琴代码:

http://jsfiddle.net/LNd6p/5/

<button id="copy-description">Copy table data</button>
&nbsp;
<table>
    <thead><tr><th>Q1</th><th>Q2</th><th>Q3</th></tr></thad>
        <tbody id="surveyResultsTable"><tr><td>Blah1</td><td>Blah2</td><td>Blah3</td>  </tr></tbody>
    </table>|

使用Javascript:

$(document).ready(function(){
    //copy the contents of surveyResultTable
    $('#copy-description').click(function(){
        $('#copy-description').zclip({
            path:'http://zeroclipboard.googlecode.com/svn-history/r10/trunk/ZeroClipboard.swf',
            copy:function(){return $('#surveyResultsTable').text();}
        });
    });
});

修改 不知道为什么它不在本地工作。我正在尝试将其作为文件运行(即,不通过localhost网络服务器提供)。

以下是html文件中的确切代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en"><head><script type="text/javascript" src="head.load.min.js"></script></head>
<body>
  <button id="copy-description">Copy table data</button>
  &nbsp;
  <table>
    <thead><tr><th>Q1</th><th>Q2</th><th>Q3</th></tr></thead>
    <tbody id="surveyResultsTable"><tr><td>Blah1;</td><td>Blah2;</td><td>Blah3;</td></tr></tbody>
  </table>
<script type="text/javascript">head.load("jquery-2.1.1.min.js", "jquery.zclip.min.js", "test.js");</script>
</body>
</html>

这是test.js

$('#copy-description').zclip({
  path:'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
  copy:function(){return $('#surveyResultsTable').text();}
});

这是使用相同代码(html head stuff剥离)的工作小提琴。 http://jsfiddle.net/LNd6p/8/最终,我必须将其作为未连接到互联网的平板电脑上的文件运行,因此远程服务它不是一种选择。我正在运行Firefox 32。 Firebug没有给出任何javascript错误。正在加载swf文件(我现在甚至都没有尝试在本地服务),但点击它不会做任何事情。我将其作为文件运行,在浏览器的地址栏中使用file:///D:/projets/test.html。它也不能在IE中运行 - 没有任何webkit浏览器可以测试;我打算在Firefox中运行它。

1 个答案:

答案 0 :(得分:0)

您正尝试在zclip事件上调用click,但zclip库正在使用flash进行复制文本..因此依赖的Flash资源无法立即加载,无需点击事件,您应该只在<selector>函数中使用zclip,请参阅下面的代码

$(document).ready(function(){
//copy the contents of surveyResultTable
    $('#copy-description').zclip({
       path:'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
       copy:function(){
          return $('#surveyResultsTable').text();
       }
    });
})    

PS:zlip swf文件路径在您的小提琴代码中出错,

DEMO