jQuery zClip无法在Chrome和IE9的UI对话框中工作(适用于FireFox)

时间:2011-08-25 08:22:40

标签: javascript jquery html zclip

以下是在.php:

上使用chrome,IE9和Firefox
$(document).ready(function(){
$('#copyLinkButton').zclip({
path: "js/zclip/zclip.swf",
copy: function(){
return $('#linkToCopy').html();
},
beforeCopy:function(){
},
afterCopy:function(){
//succes
}
});
});

但是在Dialog中打开它,它只适用于Firefox和IE9兼容模式:

$('.open-lv-form').live({
click: function() {
//define link
var linkViewId = this.id;

$.ajax({
type: "GET",
cache: false,
url: "redirect.php",
data: "id="+linkViewId,
success: function(response){
$("#lv-form-content").html(response);
}
}); 

//open
$( "#lv-form" ).dialog( "open" );
return false;
}
});

这是IE和Chrome处理字段的方式吗?为什么它会在Firefox中运行而不是在Chrome和IE中运行?

提前致谢!

更新 IE9(f12)在字符3666上的zclip.min.js第12行说运行时错误,行说:

this.div.innerHTML=this.getHTML(c.width,c.height)}

仍然没有解决方案,继续尝试:)

更多信息:Jquery ZeroClipboard or Zclip nothing in clipboard IE 8 and 7

更新#2:

在IE中解决使用它而不是zClip:

window.clipboardData.setData('text',item.url); 

现在只有Chrome正在挣扎。似乎chrome中有一个安全功能可以禁用与OS的交互。让我知情!

3 个答案:

答案 0 :(得分:2)

我通过更改z-index

上的zclip.js值解决了Chrome问题
var zIndex = 99;

var zIndex = 1500;

答案 1 :(得分:1)

我在IE9中也遇到过这个问题。单击闪存以复制到剪贴板将无法在IE中正常运行。我通过向页面添加doctype来修复此问题。对我来说这解决了我的问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

答案 2 :(得分:0)

请参阅jquery.zclip.js的源代码,您将找到以下内容:

// float just above object, or zIndex 99 if dom element isn't set
var zIndex = 99;
if (this.domElement.style.zIndex) {
zIndex = parseInt(this.domElement.style.zIndex, 10) + 1;
}

所以如果设置zclip div的zindex,你必须设置调用domelment的zindex,如下所示:

<a href="##" style="z-index:10000">copy to clipboard</a>

希望能帮到你!