Firefox插件开发工具包:如何将弹出式HTML中的文本框值复制到剪贴板?

4
我是使用Firefox的addon-sdk为Firefox浏览器创建插件。
我需要在popup.html文件中将文本框元素中的文本复制到剪贴板,但不想使用flash来复制文本到剪贴板。 popup.html
<html>
<head>
<meta charset="utf-8"/>

<script src="jquery.min.js"></script> <!-- Including jQuery -->
<script type="text/javascript" src="const.js"></script> 
<script type="text/javascript" src="popup.js"></script>

<script>


</script>
</head>
<body style="font-family:Tahoma, Geneva, sans-serif;line-height:30px;width:250px;">
<form >


    element Id : <input type="button" onclick="copy($('#idElem').val())" class="btn" value="copy"/>
<input type="text" id="idElem" value=""/><br/>
element class name : &nbsp;&nbsp;&nbsp; <input type="button" class="btn" onclick="copy($('#classNameElem').val())" value="copy"/>
<input type="text" id="classNameElem" value=""/><br/>
element xpath : &nbsp;&nbsp;&nbsp; <input type="button" onclick="copy($('#xpathElem').val())" class="btn" value="copy"/>
<input type="text" id="xpathElem" value=""/><br/>



</form>

</body>
</html>

而 popup.js 文件是:

$(document).ready(function () {
    addon.port.on("vars",  function(vars) {
        if (vars){
          $("#idElem").val(vars[0]);
      $("#classNameElem").val(vars[1]); 
      $("#xpathElem").val(vars[2]);
    }
    });
});

我该怎么做?

以下是有关Firefox中剪贴板使用的一些主题:https://developer.mozilla.org/zh-CN/Add-ons/SDK/High-Level_APIs/clipboard 和 http://stackoverflow.com/questions/26545871/paste-data-from-clipboard-using-document-execcommandpaste-within-firefox-ex/26554409#26554409 以及 http://stackoverflow.com/questions/27866328/copy-to-clipboard-in-firefox-extension-not-working。 - Noitidart
1个回答

0
你需要首先使用面板内容脚本获取文本区域的值,然后使用消息传递将其传递给插件进程,最后使用"剪贴板"模块将该值保存到剪贴板中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接