繁体   English   中英

jQuery zClip在Chrome和IE9的UI对话框中不起作用(在FireFox中有效)

[英]jQuery zClip not working in UI dialog in Chrome and IE9 (works in FireFox)

以下在.php上的chrome,IE9和Firefox中工作:

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

但是在对话框中打开它,只能在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)在zclip.min.js第12行显示字符3666出现运行时错误,该行显示:

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

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

更多信息: Jquery ZeroClipboard或Zclip剪贴板IE 8和7中没有任何内容

更新#2:

解决了在IE中使用它而不是zClip的问题:

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

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

我通过更改zclip.js上的z-index值解决了chrome问题

var zIndex = 99;

var zIndex = 1500;

我在IE9中也遇到了这个问题。 单击Flash复制到剪贴板将无法在IE中正常运行。 我通过在页面中添加文档类型来解决此问题。 对我来说,这解决了我的问题:

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

查看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>

希望对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM