Angularjs 无法在angular 1.2.3中实现ZeroClipboard复制到剪贴板指令
postFn获取以下函数,该函数返回HTTP承诺(在没有插件的情况下进行测试),并将正确的值从函数返回到Angularjs 无法在angular 1.2.3中实现ZeroClipboard复制到剪贴板指令,angularjs,angularjs-directive,zeroclipboard,Angularjs,Angularjs Directive,Zeroclipboard,postFn获取以下函数,该函数返回HTTP承诺(在没有插件的情况下进行测试),并将正确的值从函数返回到 app.directive('copyPost', ['$window', '$filter', 'ZeroClipboardPath', function ($window, $filter, ZeroClipboardPath) { return { scope: { postFn: '&', }, restrict:
app.directive('copyPost', ['$window', '$filter', 'ZeroClipboardPath', function ($window, $filter, ZeroClipboardPath) {
return {
scope: {
postFn: '&',
},
restrict: 'A',
link: function (scope, element, attrs) {
ZeroClipboardPath = ZeroClipboardPath || '//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.1.7/ZeroClipboard.min.js';
var clip = new ZeroClipboard( angular.element(element), {
moviePath: ZeroClipboardPath,
trustedDomains: ['*'],
allowScriptAccess: "always"
});
clip.on('mousedown', function(client) {
console.log('shit works');
scope.postFn().then(function(data){
client.setText(data.data[0].external_url);
});
});
}
}
}]);
零剪贴板脚本:
问题:没有触发ZeroCLipboard事件的非
已尝试以下操作:
将优先级设置为0以上(最多100),
不带adons(添加块等)的匿名窗口,
使用脚本和swf的本地实例,以及以下设置:
尝试在元素上使用angular.element()和$(),甚至尝试使用带有显式id的jquery css选择器,但现在运气不错。
任何人,有什么想法吗?我不认为这是一个角度问题,因此我建议保持对您打开的GitHub问题的主要讨论()而不是将其分散得太少……否则,so上的人将错过GitHub问题的许多细节 请参阅我关于GH问题的最新更新,以了解已识别的潜在错误。特别是: 如果
ZeroClipboardPath
参数为空,则回退将不起作用,因为您将moviePath
指向的是JS文件,而不是Flash SWF:
ZeroClipboardPath=ZeroClipboardPath | |'//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.1.7/zeroclipboard.min.js';
应该是:
ZeroClipboardPath=ZeroClipboardPath | |'//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.1.7/zeroclipboard.swf';
这个问题已经解决了,谢谢,我没有注意到很明显,我的错。现在我面临一个不同的问题,一个不太明显的问题,我相信:未捕获错误:在NPObject上调用方法时出错。
jobsServ.shareObject = function(object, identifier, data){
if(object == 'job')
return $http.post(utils.getBaseUrl() + '/jobs/' + identifier + '/share', data, utils.getConfig());
else if(object == 'company')
return $http.post(utils.getBaseUrl() + '/companies/' + identifier + '/share', data, utils.getConfig());
});