Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ZeroClipboard:已加载swf,但不工作_Javascript_Flash_Zeroclipboard - Fatal编程技术网

Javascript ZeroClipboard:已加载swf,但不工作

Javascript ZeroClipboard:已加载swf,但不工作,javascript,flash,zeroclipboard,Javascript,Flash,Zeroclipboard,ZeroClipboard不工作,也不会抛出任何错误(javascript控制台) 该网站托管在本地主机上运行的HTTPS Web服务器上。网站和SWF都由同一台服务器通过HTTPS提供服务 SWF已加载并正确定位在按钮上方(ID:testButton)。右键单击按钮时,将显示flash上下文菜单(关于Adobe flash Player 11.7…) 但是,所有事件,甚至“加载”都不会被触发。 这个问题我已经研究了两天两个月了,我找不到解决办法 其他信息: ZeroClipboard版本:v

ZeroClipboard不工作,也不会抛出任何错误(javascript控制台)

该网站托管在本地主机上运行的HTTPS Web服务器上。网站和SWF都由同一台服务器通过HTTPS提供服务

SWF已加载并正确定位在按钮上方(ID:testButton)。右键单击按钮时,将显示flash上下文菜单(关于Adobe flash Player 11.7…)

但是,所有事件,甚至“加载”都不会被触发。

这个问题我已经研究了两天两个月了,我找不到解决办法

其他信息:

  • ZeroClipboard版本:v1.1.7,也尝试过v1.2.0-beta.3,编辑:v1.3.1也会出现这种情况
  • 浏览器:Mac OSX上的Chromium 28
  • 官员正在工作
这是我的密码:

var clip = new ZeroClipboard(document.getElementById("testButton"), {
    moviePath: "media/zeroclipboard.swf"
});
clip.on("dataRequested", function(client, args) {
    client.setText("Copy me!");
});
clip.on("load", function(client) {
    alert("movie is loaded");
});
clip.on("complete", function(client, args) {
    alert("Copied text to clipboard: " + args.text);
});
clip.on("mouseover", function(client) {
    alert("mouse over");
});
clip.on("mouseout", function(client) {
    alert("mouse out");
});
clip.on("mousedown", function(client) {
    alert("mouse down");
});
clip.on("mouseup", function(client) {
    alert("mouse up");
});

我不确定这是否有帮助,但你有没有尝试过改变一下你的电影路线? 像这样:

{moviePath:"//YOURSERVER/path/ZeroClipboard.swf"}
我整个月都在尝试使用ZeroCLipboard,大部分时间我都失败了,因为我以某种方式弄错了路径


祝您好运~

如果您准确地提取项目,.SWF文件位于以下位置:

moviePath: "../zeroclipboard.swf"

几个月后,我终于找到了解决办法:

ZeroClipboard在浏览器的CommonJS环境中不能开箱即用,即使它说可以

解决方法是将模块范围变量(例如ZeroClipboard)分配给全局窗口对象:

ZeroClipboard = require("zeroclipboard");
window.ZeroClipboard = ZeroClipboard;
我为此创建了一个bug报告:

我解决了在ZeroClipboard.min.js上编辑这一行的问题

return a+"ZeroClipboard.swf"
致:


我只想向首先发现这个问题的其他人指出:当在本地查看文件时,ZeroClipboard不起作用,即
file://path/index.html
。这是因为Adobe的安全策略阻止了
文件://
协议


如果您已经在使用Node.js(即使只是针对包管理器),您可以在命令行上启动一个基本的web服务器,使用
npm install http server-g
http server/path/
(假设npm内容已经在您的路径上)。

我遇到了完全相同的问题。SWF加载(我可以在Chrome开发者工具中看到200),但是
load
从不触发。我将SWF移动到另一个目录。swf已正确加载(可在浏览器的开发人员工具中看到),但加载事件未触发..swf已正确加载(可在浏览器的开发人员工具中看到),但加载事件未触发..如果修复程序不起作用,请确保
window.require
存在,例如,通过为其分配
window.require=require代码。这两个修复方案非常难看,但它们是目前唯一的解决方案。
return "//YOUR/PATH/TO/ZeroClipboard.swf"