我有一個複製文本按鈕,我正在使用ZeroClipboard以複製頁面上的某些文本。它適用於Chrome和IE,但不會在Firefox中複製文本,並且事件永遠不會被解僱。在Firefox中破解ZeroClipboard
我設置了按鈕的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()'。 Firefox的範圍是'source',並且該變量是否具有'val'功能?如果該代碼不是問題,那麼如果沒有[示例](http://jsfiddle.net/)進行測試,則無法找出問題。 –
我更新了我的問題以顯示更好。這是在範圍內,問題不在於正在設置的文本。 – coreyschram