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