有跨域资产的选项:
// SWF inbound scripting policy: page domains that the SWF should trust. (single string or array of strings)
trustedDomains: [window.location.host],
请参阅:
https ://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md
另外:如果您在配置中将 debug 设置为 true,当前的 master 分支 (2.x) 会将跨域记录到控制台。
我使用 swf 文件的 cdn 托管版本取得了一些成功。但是在进行了一些编辑之后,这神秘地停止了本地工作,但确实在我的登台服务器上工作。
这是我的配置:
ZeroClipboard.config({
moviePath: '//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/1.3.2/ZeroClipboard.swf',
forceHandCursor: true,
debug: true
});
另请参阅此 jsfiddle:http:
//jsfiddle.net/rimian/45Nnv/
如果您仍然遇到问题,您可以从 swf 登录到控制台。为此,您需要能够使用grunt mxmlc
. 只需在操作脚本中发送一个日志事件(编译并将其复制到您的项目中)并在您的 js 中响应它:
例如,在ZeroClipboard.as
:
// constructor, setup event listeners and external interfaces
public function ZeroClipboard() {
...
// Get the flashvars
var flashvars:Object = LoaderInfo( this.root.loaderInfo ).parameters;
dispatch("log", flashvars);
...
}
然后在你的js中:
zeroclipboard = new ZeroClipboard($('.mybuttons'))
zeroclipboard.on('log', function(client, args) { console.log('log:', args)});