2013-04-11 61 views
4

試着讓這個腳本複製到剪貼板,而不是回到頁面。當你點擊鏈接時,它應該直接複製到剪貼板。至少這是我的意圖。這裏有一些背景事實屁股吧:複製到剪貼板爲IE幾乎工作?

  • 這是一個使用IE exclusivly因此它不需要與任何其他瀏覽器
  • 裏面的數據不兼容時,/將會從返回公司內部網站一個分貝查詢
  • 我意識到這是舊技術,但它現在需要這樣。

    <!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"> 
    <head> 
         <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <script type="text/javascript"><!-- 
    // input field descriptions 
    var desc = new Array(); 
         desc['a1'] = 'First name'; 
    desc['a2'] = 'Last name'; 
    desc['a3'] = 'Address'; 
    desc['a4'] = 'Zip'; 
    desc['a5'] = 'City'; 
    desc['a6'] = 'Country'; 
    
    function CopyFields(){ 
        var copytext = ''; 
        for(var i = 0; i < arguments.length; i++){ 
         copytext += desc[arguments[i]] + ': ' + document.getElementById(arguments[i]).innerText + '\n';} 
        var tempstore = document.getElementById(arguments[0]).innerText; 
          document.getElementById(arguments[0]).innerText = copytext; 
        document.getElementById(arguments[0]).focus(); 
        document.getElementById(arguments[0]).select(); 
        document.execCommand('Copy'); 
        document.getElementById(arguments[0]).innerText = tempstore; 
    } 
    </script> 
    </head> 
    <body> 
    
    <table> 
    <tr> 
    <td id="a1" name="t1">a</td> 
    <td id="a2" name="t2">b</td> 
    <td id="a3" name="t3">c</td> 
    <td id="a4" name="t4">d</td> 
    <td id="a5" name="t5">e</td> 
    <td id="a6" name="t6">f</td> 
    </tr> 
    </table><br> 
    <a href="#" onClick="CopyFields('a1', 'a2', 'a3', 'a4', 'a5', 'a6');">Copy values of text fields to clipboard</a> 
    </body> 
    
    </html> 
    
+1

那麼,什麼是不工作。 – Gabe 2013-04-11 20:42:31

+0

@Gabe當你點擊鏈接時,它應該將'desc'和'​​'的數據複製到剪貼板中,而不是直接返回到頁面 – user1839308 2013-04-11 21:24:24

回答

10

沒有select() - 方法爲td -elements。

您可以直接訪問剪貼板不使用拷貝命令:

window.clipboardData.setData('Text', copytext); 

參見:http://msdn.microsoft.com/en-us/library/ie/ms536744%28v=vs.85%29.aspx

+0

@ Dr.Molle在腳本中,我會放置哪一行? window.clipboardData.setData('Text',copytext); – user1839308 2013-04-11 21:24:54

+0

用該行替換該函數的最後5行 – 2013-04-11 23:39:46