2013-04-24 6 views
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», и она работает, успешно копируя текст в буфер обмена!

Пожалуйста, помогите!

Я ценю это! :)

+0

http://jonrohan.github.io/ZeroClipboard/ – Timmerz

ответ

0

Вы не можете получить доступ (скопировать/вставить) в системный буфер обмена на клиенте.

Для этого будет проблема с безопасностью. Вы можете считывать с него конфиденциальные данные или вставлять в него вредоносный контент.

+0

Привет, спасибо за ответ, но дело в том, что вы можете с тех пор, как я работаю с «onClick», в альтернативной версии этого кода! – user2317122

+0

Думаю, вы используете Internet Explorer? Он имеет API буфера обмена. Другие браузеры этого не делают. – fisharebest

0

См.: How to copy to the clipboard in JavaScript?.

Большинство браузеров не поддерживают изменение клипа пользователя непосредственно с помощью javascript из соображений безопасности. Есть работа вокруг Flash, например, ZeroClipboard

+0

Я только что протестировал это в Internet Explorer, и это действительно работает, что отлично подходит для того, что мне нужно! : D – user2317122

Смежные вопросы