我想尝试使用此DEMO通过ZeroClipboard将文本复制到剪贴板。我有一个带有index.html的本地文件夹,ZeroClipboard.js和ZeroClipboard.swf。 但它不起作用:
<html>
<body>
<script type="text/javascript" src="ZeroClipboard.js"></script>
<script type="text/javascript">
//set path
ZeroClipboard.setMoviePath('ZeroClipboard.swf');
//create client
var clip = new ZeroClipboard.Client();
//event
clip.addEventListener('mousedown', function () {
clip.setText(document.getElementById('box-content').value);
});
clip.addEventListener('complete', function (client, text) {
alert('copied: ' + text);
});
//glue it to the button
clip.glue('copy');
</script>
<textarea name="box-content" id="box-content" rows="5" cols="70">
The David Walsh Blog is the best blog around! MooTools FTW!
</textarea>
<br />
<br />
<p>
<input type="button" id="copy" name="copy" value="Copy to Clipboard" />
</p>
</body>
</html>
答案 0 :(得分:4)
您必须运行服务器。因为指向您网站的链接必须包含http或https。这是因为adobe flash的安全设置
答案 1 :(得分:1)
确保在复制按钮中生成iframe标记。 初始化Zeroclipboard.Client()后,您缺少一行。
clip.setHandCursor(true);
<script type="text/javascript">
//set path
ZeroClipboard.setMoviePath('ZeroClipboard.swf');
//create client
var clip = new ZeroClipboard.Client();
//event
clip.setHandCursor( true );
clip.addEventListener('mousedown', function () {
clip.setText(document.getElementById('box-content').value);
});
clip.addEventListener('complete', function (client, text) {
alert('copied: ' + text);
});
//glue it to the button
clip.glue('copy');
</script>
我希望它对你有用。
答案 2 :(得分:0)
确保ZeroClipboard.js
和ZeroClipboard.swf
都可用。要验证这一点,您可以打开控制台并查找错误。
还要确保已安装并启用Adobe Flash。
在所有其他情况下,该示例应该有效。
答案 3 :(得分:0)
您在定义元素box-content
之前调用了javascript。
clip.addEventListener('mousedown', function () {
clip.setText(document.getElementById('box-content').value);
});
试试这个:
<html>
<body>
<textarea name="box-content" id="box-content" rows="5" cols="70">
The David Walsh Blog is the best blog around! MooTools FTW!
</textarea>
<br />
<br />
<p>
<input type="button" id="copy" name="copy" value="Copy to Clipboard" />
</p>
<script type="text/javascript" src="ZeroClipboard.js"></script>
<script type="text/javascript">
//set path
ZeroClipboard.setMoviePath('ZeroClipboard.swf');
//create client
var clip = new ZeroClipboard.Client();
//event
clip.addEventListener('mousedown', function () {
clip.setText(document.getElementById('box-content').value);
});
clip.addEventListener('complete', function (client, text) {
alert('copied: ' + text);
});
//glue it to the button
clip.glue('copy');
</script>
</body>
</html>