firefox中的zclip和jquery ajax问题

时间:2011-06-13 15:58:47

标签: jquery zeroclipboard zclip

我知道关于能够使用zclip使用ajax复制并粘贴到剪贴板的各种主题已经涵盖了它,但是我想知道我的问题是否更常见于jquery,firefox和ajax请求..

$("#generate-report-to-clipboard").zclip({
            path: '/Content/ZeroClipboard.swf',
            copy: function () {
                var options = {
                    async: false, success: function (data) {
                        // now do ajax call for report results
                        $.ajax({
                            url: '<%= Url.Action("GenerateEmailToClipboard") %>',
                            type: 'POST',
                            async: false,
                            success: function (data, status) {
                                $("#copy-holder").text(data);
                            }
                        });
                    }
                };

                $("#report-definition-form").ajaxForm(options);
                $("#report-definition-form").submit();

                return $("#copy-holder").text();
            }, afterCopy: function () { alert('something'); }
        });

好的,我的想法就是当我点击链接时,我去请求复制数据,并在成功时将数据添加到剪贴板。

这种方法在IE 8(我知道很奇怪)和Chrome 12中运行良好,但在Firefox 4中运行不正确。

我认为它可能与AJAX请求有关的原因是当我删除AJAX调用并将#copy-holder设置为某个值时,它会立即复制到剪贴板。

请帮助,我疯了!

1 个答案:

答案 0 :(得分:0)

我发现在Firefox中AJAX调用的数量很奇怪。我有一个弹出窗口,允许用户复制,然后转到下一个对象,打开弹出窗口并复制。在Chrome,IE等中,AJAX请求是单一的,因此可以返回结果,但在Firefox中有许多AJAX请求。用户点击的每个弹出窗口都有一个。

问题是实际的jquery.jzclip.js文件,第二个,第三个..请求正从这个文件传回到AJAX函数中。如果您使用控制台(F12),您可以看到它正在发生。还没有解决方案,尝试对给出的js文件进行故障排除非常烦人。