gpt4 book ai didi

javascript - 剪贴板 IE 8 和 7 中的 Jquery ZeroClipboard 或 Zclip 什么都没有

转载 作者:搜寻专家 更新时间:2023-11-01 05:16:22 24 4
gpt4 key购买 nike

我正在使用 Jquery 插件 ZClip 或 ZeroClipboard,它们通过按钮或链接将内容复制到剪贴板。要复制的数据和激活它的链接/按钮是使用需要使用插件的 ajax 加载的,我在它们加载后附加元素:

$('#ajaxbutton').live('click', function() {
$.ajax({
type: "POST",
url: "ajax.php",
success: function(msg){
$('a.ajaxcopymulti').zclip({
path:'js/ZeroClipboard.swf',
copy:function(){
return $('p#ajaxdescription').text();
}
});
});
});

例如在 ajax.php 中:

<p id="ajaxdescription">Ajax description copied to clipboard</p>
<p><a href="#" id="ajaxcopy">Click here to copy the above text</a></p>

适用于除 IE 7 和 IE 8 以外的所有其他浏览器。我收到此错误:

Unknown Runtime Error: ZeroClipboard.js, line 135 character 3

所以在插件代码中我改变了:

this.div.innerHTML = this.getHTML(box.width, box.height);

到:

$(this.div).html( this.getHTML( box.width, box.height ) ); 

这消除了运行时错误,但似乎没有任何内容被复制到 IE 7 和 8 的剪贴板中。是否有人对此足够熟悉,可以提供一些帮助?谢谢。

最佳答案

好的,我发现我的情况出了什么问题。可能这与您遇到的问题相同。

IE 在此行报错

this.div.innerHTML = this.getHTML(box.width, box.height);

下一行是

appendElem.appendChild(this.div);

这里我们将 this.div 附加到元素“appendElem”。 appendElem 是一个 DOM 对象,取决于您在 html 代码中放置 html 复制字段的位置。准确的说是二级父级。当 appendElem 不能包含 this.div 作为子节点时抛出错误。在我的例子中,我的复制字段位于表格单元格中。在这种情况下,appendELem 是一个行对象,显然不能包含任何 div(firefox 足够聪明,可以清理代码)。我将我的复制域包装在额外的 div 中,因此 appendElem 将是一个 DIV 对象。要知道您的 appendElem 包含什么对象,只需添加和警报功能,如下所示:

    alert(appendElem);
appendElem.appendChild(this.div);

希望这对您有所帮助!

卡斯帕·泰曼斯

关于javascript - 剪贴板 IE 8 和 7 中的 Jquery ZeroClipboard 或 Zclip 什么都没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6682178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com