jQuery zClip не работает в диалоге пользовательского интерфейса в Chrome и IE9 (работает в FireFox) - PullRequest
0 голосов
/ 25 августа 2011

Следующее работает в Chrome, IE9 и Firefox на .php:

$(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 есть функция безопасности, которая отключает взаимодействие с ОС.Держите меня в курсе!

Ответы [ 3 ]

2 голосов
/ 13 августа 2012

Я решил проблему с хромом, изменив значение z-index на zclip.js

var zIndex = 99;

до

var zIndex = 1500;
1 голос
/ 02 ноября 2011

У меня тоже была эта проблема в IE9. Нажатие флэш-памяти для копирования в буфер обмена не будет работать должным образом в IE Я исправил это, добавив doctype на страницу. Для меня это исправило мою проблему:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
0 голосов
/ 12 сентября 2013

См. Исходный код 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;
}

, поэтому, если установить zindex для zclip div, вы должны установить zindex вызывающего купола, например:

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

Надеюсь вам помочь!

...