0

我创建了一个包含选项列表的下拉菜单。我希望能够选择其中一个选项,一旦选择,我希望它执行一个功能,将文本从记事本(.txt 文件)复制到我的剪贴板并提醒我它已被复制..

这是我到目前为止所拥有的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


<title>Dropdown Test</title>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script>
<script type="text/javascript" language="Javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>
function changeOptions(){
$('select[name="dropdown"]').change(function(){

if ($(this).val() == "option1")
    function1();
else if ($(this).val() == "option2")
    function2();
else if ($(this).val() == "option3")    
    function3();
else if ($(this).val() == "option4")
    function4();
else if ($(this).val() == "option5")    
    function5();



});

}
</script>


<script type="text/javascript"> 

function function1(){
$(function()

{
var page_name="textfile.txt";

    $.get(page_name, function(data)
    {
            if (window.clipboardData) {
    window.clipboardData.setData('text', data);
} 

            alert("The text from textfile.txt has been copied to your clipboard! ");
    });
});
}
 </script>







 <body onload ="changeOptions()">

<select name="dropdown" size=1>
<option>Select options below...</option>
<option value="option1">Text file1</option>
<option value="option2">Text file2</option>
<option value="option3">Text file3</option>
<option value="option4">Text file4</option>
<option value="option5">Text file5</option>

</select>
</body>
</html>

所以这里的问题是,当您从下拉菜单中选择时,它似乎可以工作,您会收到警报说“textfile.txt 中的文本已被复制......”但是,它不会复制,我不会不知道还能做什么!我已经用一个按钮和'onclick'尝试了这个功能,它可以工作,成功地将文本复制到剪贴板!

请帮忙!

我很感激!:)

4

2 回答 2

0

您无法访问(复制/粘贴)客户端上的系统剪贴板。

这样做将是一个安全问题。您可以从中读取敏感数据,或将恶意内容粘贴到其中。

于 2013-04-24T20:08:25.573 回答
0

请参阅:如何在 JavaScript 中复制到剪贴板?.

出于安全原因,大多数浏览器不支持直接使用 javascript 修改用户的剪贴板。有使用 Flash 的变通方法,例如ZeroClipboard

于 2013-04-24T20:09:54.407 回答