У меня есть кнопка копирования текста, в которой я использую ZeroClipboard, чтобы скопировать определенный текст на странице. Он работает в Chrome и IE, но не копирует текст в Firefox, а событие complete
никогда не запускается.ZeroClipboard, поврежденный FireFox
Мой JavaScript для настройки кнопки выглядит примерно так:
ZeroClipboard.setDefaults({
moviePath: '/js/zeroclipboard/ZeroClipboard.swf',
allowScriptAccess: 'always',
forceHandCursor: true
});
function enableCopyButton(container) {
var button = container.find('.text-copy'),
source = container.find('.text'),
clip = new ZeroClipboard(button);
clip.setText(source.val());
clip.on('load', function (client) {
console.log('ZeroClipboard loaded.');
client.on('complete', function (client, args) {
console.log('Text copied: ' + args.text);
});
});
clip.on('noFlash', function() {
console.error('No Flash installed!');
});
clip.on('wrongFlash', function() {
console.error('Wrong Flash installed!');
});
}
консоль заканчивает показ "ZeroClipboard loaded."
и больше ничего. Ошибок не возникает, и я подтвердил, что ZeroClipboard.swf
загружается и помещается на страницу. Также запускаются события mousedown
и mouseup
. На странице, на которой выполняется эта операция, используется действительный сертификат SSL, и все ресурсы на странице загружаются через HTTPS.
Демо-страница библиотеки на GitHub отлично работает в FireFox, поэтому я подозреваю, что это то, что я делаю.
только возможно, неправильная часть я могу увидеть 'source.val()'. Является ли 'source' в области видимости в Firefox, и имеет ли эта переменная функцию' val'? Если этот код не является проблемой, я не могу решить проблему без проверки [example] (http://jsfiddle.net/) для проверки. –
Я обновил свой вопрос, чтобы показать, что лучше. Это в области, проблема не в том, что текст установлен. – coreyschram