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

标签 javascript jquery ajax internet-explorer-8 internet-explorer-7

我正在使用 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/

相关文章:

javascript - Ember.js:这个方法去哪里了?

javascript - 如何根据foreignObject的高度动态调整D3矩形的大小

javascript - 全屏 Canvas 是低分辨率

javascript - jQuery for ajax 调用循环并等待所有操作完成

javascript - Highcharts 工具提示中的附加数据

javascript - React 组件内的构造函数

javascript - 简化 .on() 方法中同一父元素的多个子元素的选择器

java - 在 Struts2 中使用 AJAX 根据另一个选择菜单填充一个选择菜单

ajax - 选择 "Choose File"按钮后预览 ImageField

javascript - 如何在浏览器中从未格式化的数据创建表格?