首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZeroClipboard SWF无法加载

ZeroClipboard SWF无法加载
EN

Stack Overflow用户
提问于 2010-09-18 20:29:25
回答 6查看 10.1K关注 0票数 7
代码语言:javascript
复制
ZeroClipboard.setMoviePath( "/zeroclipboard/ZeroClipboard.swf" );
var clip = new ZeroClipboard.Client();
clip.setText( $('textarea#download_me').text() );
clip.glue( 'clip' );

我正在使用流行的ZeroClipboard插件将内容复制到用户的剪贴板。它在dev环境和domain1.com上都能很好地工作,但在domain2.com上却不能,文件和设置完全相同!

加载/zeroclipboard/ZeroClipboard.js

/zeroclipboard/ZeroClipboard.swf无法加载!

我试了所有的方法,但就是不能让它工作。我真的很困惑为什么它能在domain1上工作,而不能在domain2上工作??

我该如何解决这个问题?

非常感谢您的帮助!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-27 05:25:00

http://kenneth.kufluk.com/blog/2008/08/cross-domain-javascript-to-flash/可能会有所帮助。另外,当心子域,Flash可能会被混淆。也可以使用Flash debug player和Fiddler (或类似的工具)来查看正在发生的事情。

票数 2
EN

Stack Overflow用户

发布于 2010-09-24 09:24:57

如果此文件与您的网页位于同一目录中,则它将开箱即用。但是,如果SWF文件驻留在其他地方,则需要像这样设置URL (将此代码放在script标签之后):

代码语言:javascript
复制
    ZeroClipboard.setMoviePath( 'http://YOURSERVER/path/ZeroClipboard.swf' );

要使用Zero Clipboard 1.0.7中新的Rich HTML功能,必须将影片路径设置为新的"ZeroClipboard10.swf“文件,该文件包含在1.0.7存档中。示例:

代码语言:javascript
复制
    ZeroClipboard.setMoviePath( 'ZeroClipboard10.swf' );

或者,在当前目录以外的自定义位置:

代码语言:javascript
复制
    ZeroClipboard.setMoviePath( 'http://YOURSERVER/path/ZeroClipboard10.swf' );
票数 2
EN

Stack Overflow用户

发布于 2014-02-27 18:22:23

有一些用于跨域资源的选项:

代码语言:javascript
复制
// 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

另外:如果您在config中将debug设置为true,则当前主分支(2.x)会将跨域记录到控制台。

我在使用cdn托管版本的swf文件时取得了一些成功。但在做了一些编辑之后,它在本地神秘地停止了工作,但在我的临时服务器上工作了。

这是我的配置:

代码语言:javascript
复制
  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将flash从zeroclipboard source编译为swf。只需在操作脚本中调度一个日志事件(编译并复制到您的项目中),并在您的js中响应它:

例如,在ZeroClipboard.as

代码语言:javascript
复制
// 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中:

代码语言:javascript
复制
zeroclipboard = new ZeroClipboard($('.mybuttons'))
zeroclipboard.on('log', function(client, args) { console.log('log:', args)});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3741691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档