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 を値に設定すると、問題なくクリップボードにコピーされるためです。
助けてください、私は怒っています!