Javascript 未捕获类型错误:无法读取属性';setData';未定义的

Javascript 未捕获类型错误:无法读取属性';setData';未定义的,javascript,c#,html,asp.net,Javascript,C#,Html,Asp.net,我编写了Javascript,将数据从textbox复制到剪贴板: 文本框: <asp:TextBox ID="contNoTxtBox" runat="server" Width="182px" style="height: 22px"></asp:TextBox> 我用以下方式在HTML按钮中调用它: <input id="CopyButton" type="button" value="Copy" onclick="CopyToClipBoard()" /&

我编写了Javascript,将数据从textbox复制到剪贴板:

文本框:

<asp:TextBox ID="contNoTxtBox" runat="server" Width="182px" style="height: 22px"></asp:TextBox>
我用以下方式在HTML按钮中调用它:

<input id="CopyButton" type="button" value="Copy" onclick="CopyToClipBoard()" /><br />

但是,我得到以下错误:

未捕获的TypeError:无法读取未定义的属性“setData”

为什么会出现这种类型的pf错误

指的是你的

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

仅与InternetExplorer兼容。 使用Chrome等实现此功能的其他方法如示例所示。

Aspx代码:
Aspx code:
<head>
 <script language="javascript" type="text/javascript">

               function pasteContent() {
                   document.getElementById('ClipboardContent').value = document.execCommand('copy');//     window.clipboardData.getData('Text');
                   return (true);
               }
               var elem3 = document.getElementById("elem");
               document.addEventListener("click", function () {
                   document.getElementById("demo").innerHTML = "Hello World";
               });
               elem3.addEventListener('copy', function (e) {

                   e.preventDefault();
                   if (e.clipboardData) {
                       e.clipboardData.setData('text/plain', 'custom content from click');
                   } else if (window.clipboardData) {
                       window.clipboardData.setData('Text', 'custom content from click');
                   }

               });
               </script>    <script runat="server">
               protected override void OnInit(EventArgs e) { Page.ClientTarget =    "uplevel"; base.OnInit(e);
               } 
    </script>

</head>
 <body>

                <asp:Button ID="ReloadCtl" runat="server" Text="Paste" OnClick="ReloadCtl_Click"
                    OnClientClick="return pasteContent();" />
         <asp:HiddenField ID="ClipboardContent" runat="server" ClientIDMode="Static" /> </body>
    C# Code:
         protected void ReloadCtl_Click(object sender, EventArgs e)
                {
        if (!string.IsNullOrEmpty(this.ClipboardContent.Value))
                    {

        DataTable dt1 = DataMapper.GetDataTable(this.ClipboardContent.Value, false);
        }


    }
函数粘贴内容(){ document.getElementById('ClipboardContent')。value=document.execCommand('copy');//window.clipboardData.getData('Text'); 返回(真); } var elem3=document.getElementById(“elem”); document.addEventListener(“单击”),函数(){ document.getElementById(“demo”).innerHTML=“Hello World”; }); elem3.addEventListener('copy',函数(e){ e、 预防默认值(); 如果(例如剪贴簿数据){ e、 setData('text/plain','click中的自定义内容'); }else if(window.clipboardData){ window.clipboardData.setData('Text','customcontent from click'); } }); 受保护的重写void OnInit(EventArgs e){Page.ClientTarget=“uplevel”;base.OnInit(e); } C#代码: 受保护的无效重新加载CTL_单击(对象发送方,事件参数e) { 如果(!string.IsNullOrEmpty(this.ClipboardContent.Value)) { DataTable dt1=DataMapper.GetDataTable(this.ClipboardContent.Value,false); } }
因为
剪贴簿数据
未定义。@Kamo我应该如何定义它?可能是重复的,请告诉我在引用上述代码时是否有任何问题。
Aspx code:
<head>
 <script language="javascript" type="text/javascript">

               function pasteContent() {
                   document.getElementById('ClipboardContent').value = document.execCommand('copy');//     window.clipboardData.getData('Text');
                   return (true);
               }
               var elem3 = document.getElementById("elem");
               document.addEventListener("click", function () {
                   document.getElementById("demo").innerHTML = "Hello World";
               });
               elem3.addEventListener('copy', function (e) {

                   e.preventDefault();
                   if (e.clipboardData) {
                       e.clipboardData.setData('text/plain', 'custom content from click');
                   } else if (window.clipboardData) {
                       window.clipboardData.setData('Text', 'custom content from click');
                   }

               });
               </script>    <script runat="server">
               protected override void OnInit(EventArgs e) { Page.ClientTarget =    "uplevel"; base.OnInit(e);
               } 
    </script>

</head>
 <body>

                <asp:Button ID="ReloadCtl" runat="server" Text="Paste" OnClick="ReloadCtl_Click"
                    OnClientClick="return pasteContent();" />
         <asp:HiddenField ID="ClipboardContent" runat="server" ClientIDMode="Static" /> </body>
    C# Code:
         protected void ReloadCtl_Click(object sender, EventArgs e)
                {
        if (!string.IsNullOrEmpty(this.ClipboardContent.Value))
                    {

        DataTable dt1 = DataMapper.GetDataTable(this.ClipboardContent.Value, false);
        }


    }