2013-10-02 96 views
2

我正在使用此功能将剪贴板中的文本粘贴到多个文本字段中。将文本从剪贴板粘贴到Firefox和Chrome

function pasteFromClipboard(className) { 
     var data = window.clipboardData.getData('Text'); 
     if (data != null) { 
      var cells = data.split('\n'); 
      var columns = $$('.'+className); 

      for (i = 0; i < cells.length; i++) { 
       if (columns[i] != undefined){ 
        columns[i].value = cells[i]; 
       } 
      } 
     } 
    } 

这东西,是通过“点击”连接到按钮,在IE浏览器的工作原理,但不是在FF或Chrome。 现在我知道FF限制了对剪辑的访问,但是我已经在首选项中操纵了这些值,但没有成功。

任何人都可以帮助我这个功能,所以它可以在Chrome中工作吗? 有没有一个window.clipboardData.getData('Text');类似的选项,使其在FF和Chrome的工作?

+1

您可以在粘贴时获取CB的价值,在FF + Chrome中https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent – dandavis

+0

因此解决方案将是另一个文本字段用户粘贴并按钮然后读取该字段并复制需要的文本? – no9

+0

不,您绑定可以粘贴到处理程序的所有输入,然后通过事件参数中的e.getData(“text/plain”)方法获取源,然后将每个绑定输入的值设置为源在一个循环中。 – dandavis

回答

0

好的。所以我在前一段时间放弃了这一点。 我刚刚创建了一个额外的textarea控件,我在那里粘贴我的东西。

页面上的操作然后读取此控件并完成工作 - 然后删除此控件中的内容。

有人会说它笨拙的解决方案,但我更喜欢“旧时尚”和安全。

此致敬礼,no9。

+1

似乎是正确的。如果你看看网络上的典型工作剪切/粘贴解决方案,他们通常使用https://github.com/zeroclipboard/zeroclipboard或类似的内幕使用闪光 - 它解决了浏览器之间的差异。当然,它需要闪光,这是它自己的问题。 –

+0

感谢您的想法!问候! – no9