Проблема с zclip и jquery ajax в Firefox - PullRequest
0 голосов
/ 13 июня 2011

Я знаю, что в различных темах рассказывалось о возможности использования 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 голосов
/ 08 июня 2012

Я обнаружил, что количество вызовов AJAX странно в Firefox. У меня есть всплывающее окно, которое позволяет пользователю копировать, затем перейти к следующему объекту, открыть всплывающее окно и скопировать. В Chrome, IE и т. Д. Запросы AJAX единичны, и поэтому результат может быть возвращен, но в Firefox существует множество запросов AJAX. По одному на каждое всплывающее окно, по которому щелкнул пользователь.

Проблема в фактическом файле jquery.jzclip.js, 2-й, 3-й .. запросы передаются обратно из этого файла в функцию AJAX, как у вас. Если вы используете консоль (F12), вы увидите, что это происходит. Пока нет решения этой проблемы, это чертовски раздражает попытка устранить неполадки с файлом js, который был предоставлен.

...