【问题标题】:Copying <tbody> text using zclip when running as a file作为文件运行时使用 zclip 复制 <tbody> 文本
【发布时间】:2014-09-16 08:43:29
【问题描述】:

我正在尝试使用 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 头文件)。 http://jsfiddle.net/LNd6p/8/ 最终,我将不得不在未连接到 Internet 的平板电脑上将其作为文件运行,因此无法远程服务它。我正在运行 Firefox 32。 Firebug 没有给出任何 javascript 错误。 swf 文件正在加载(目前我什至没有尝试在本地提供该文件),但单击它不会执行任何操作。我将其作为文件运行,file:///D:/projets/test.html 在浏览器的地址栏中。它也不能在 IE 中工作——没有任何 webkit 浏览器可以测试;无论如何,我的意图是在 Firefox 中运行它。

【问题讨论】:

    标签: jquery zclip


    【解决方案1】:

    您正试图在click 事件上调用zclip,但zclip 库正在使用flash 复制文本.. 所以依赖的flash 资源无法立即加载,不需要点击事件,您应该只使用&lt;selector&gt;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

    【讨论】:

    • 这真是令人费解。当它在 jsfille 服务器上时,您的小提琴工作正常(谢谢!),但不是在本地,尽管复制粘贴相同的代码。我在 Firefox 上执行此操作,因此它不应该出现“在本地无法正常工作”的 webkit 问题。给我一点时间来研究一下。
    • 本地服务器上显示什么错误.. 签入firebug??
    • 没有萤火虫错误。我什至检查了小提琴 iframe 中的 html;它与渲染后的文件中的相同。我已经用我正在使用的文件中的实际代码更新了原始问题。它们在 jsfiddle 中工作,但不是作为文件。
    • 检查您的本地服务器代码..zclip 也停止工作..如果页面加载后部分容器正在调整大小..请确保在您的代码中。
    • 我没有服务器代码。我将其作为文件运行,file:///D:/projets/test.html 在浏览器的地址栏中。
    猜你喜欢
    • 1970-01-01
    • 2014-06-10
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2019-01-10
    • 2015-02-07
    • 2014-05-11
    相关资源
    最近更新 更多