事件点击不可能通过 div 内容工作

我做了一个示例聊天,但我不明白为什么不在 div 内容上运行链接或按钮交互。

<!DOCTYPE html>

<html>


<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Chat</title>

</head>


<body>

  <script>

    var avatar = "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=userimage@1@4@7FD66E9B1F9F486D8C95";

    var nphoto = "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=dataimage_jpeg@1@4@C661281C60B847759EEB";

    var nvideo = "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=datavideo_mp4@1@4@4F5D6E742634422DAF2B";

    var nlocation = "location@1@4@314123992DA4406CAA7F";

    var ndocument = "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=04contrachequeintranetperbras_pdf@1@4@7168A9C3138745E99F3C";

    var naudio = "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=dataaudio_ogg@1@4@16CC8FAD9C8A469A8125";

    var latlon = "-10.9498287,-37.0654272";

  </script>



  <div id="chat"></div>


</body>


</html>



千巷猫影
浏览 117回答 1
1回答

三国纷争

您只需检查您的样式表规则,相应地删除或检查您的 z-index,z-index 到 -1 使您的 div 不可点击,如果有具有更大 z-index 的元素,那么标记中的 onclick 处理程序中有一些拼写错误,它应该是 onclick 而不是 nclick。<!DOCTYPE html><html>&nbsp; <head>&nbsp; &nbsp; <meta charset="UTF-8" />&nbsp; &nbsp; <meta name="viewport" content="width=device-width, initial-scale=1.0" />&nbsp; &nbsp; <title>Chat</title>&nbsp; &nbsp; <style>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;html {&nbsp;/* box-sizing: border-box;*/&nbsp; height: 100%;&nbsp; margin: 0;&nbsp; padding: 0;}body {&nbsp; /*-webkit-font-smoothing: antialiased;&nbsp; -moz-osx-font-smoothing: grayscale;&nbsp; font-family: "Roboto", sans-serif;*/&nbsp; margin: 0;&nbsp; padding: 0;&nbsp; height: 100%;}.chat {&nbsp; &nbsp; height: calc(100% - 48px);&nbsp; &nbsp; -webkit-font-smoothing: antialiased;&nbsp; &nbsp; -moz-osx-font-smoothing: grayscale;&nbsp; &nbsp; font-size: 0.9em !important;&nbsp; &nbsp; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;&nbsp; &nbsp; font-weight: normal !important;}*,*:before,*:after {&nbsp; &nbsp; box-sizing: inherit;}.chat-container {&nbsp; &nbsp; height: 100%;}.user-bar {&nbsp; &nbsp; height: 55px;&nbsp; &nbsp; background: #005e54;&nbsp; &nbsp; color: #fff;&nbsp; &nbsp; padding: 0 8px;&nbsp; &nbsp; font-size: 24px;&nbsp; &nbsp; position: relative;&nbsp; &nbsp; /* z-index: 1; */}.user-bar:after {&nbsp; &nbsp; content: "";&nbsp; &nbsp; display: table;&nbsp; &nbsp; clear: both;}.user-bar div {&nbsp; &nbsp; float: left;&nbsp; &nbsp; transform: translateY(-50%);&nbsp; &nbsp; position: relative;&nbsp; &nbsp; top: 50%;}.user-bar .actions {&nbsp; &nbsp; float: right;&nbsp; &nbsp; margin: 0 0 0 20px;}.user-bar .actions.more {&nbsp; &nbsp; margin: 0 12px 0 32px;}.user-bar .actions.attachment {&nbsp; &nbsp; margin: 0 0 0 30px;}.user-bar .actions.attachment i {&nbsp; &nbsp; display: block;&nbsp; &nbsp; transform: rotate(-45deg);}.user-bar .avatar {&nbsp; &nbsp; margin: 0 0 0 5px;&nbsp; &nbsp; width: 46px;&nbsp; &nbsp; height: 46px;}.user-bar .avatar img {&nbsp; &nbsp; border-radius: 50%;&nbsp; &nbsp; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);&nbsp; &nbsp; display: block;&nbsp; &nbsp; width: 100%;}.user-bar .name {&nbsp; &nbsp; font-size: 17px;&nbsp; &nbsp; font-weight: 600;&nbsp; &nbsp; text-overflow: ellipsis;&nbsp; &nbsp; letter-spacing: 0.3px;&nbsp; &nbsp; margin: 0 0 0 8px;&nbsp; &nbsp; overflow: hidden;&nbsp; &nbsp; white-space: nowrap;&nbsp; &nbsp; width: 80%;}.user-bar .status {&nbsp; &nbsp; display: block;&nbsp; &nbsp; font-size: 13px;&nbsp; &nbsp; font-weight: 400;&nbsp; &nbsp; letter-spacing: 0;}.conversation {&nbsp; &nbsp; height: calc(100% - 12px);&nbsp; &nbsp; position: relative;&nbsp; &nbsp; background: #efe7dd url("https://cloud.githubusercontent.com/assets/398893/15136779/4e765036-1639-11e6-9201-67e728e86f39.jpg") repeat;&nbsp; &nbsp; z-index: 0;}.conversation ::-webkit-scrollbar {&nbsp; &nbsp; /* transition: all .5s;&nbsp; &nbsp; width: 5px;&nbsp; &nbsp; height: 1px;&nbsp; &nbsp; z-index: 10; */}.conversation ::-webkit-scrollbar-track {&nbsp; &nbsp; /* background: transparent; */}.conversation ::-webkit-scrollbar-thumb {&nbsp; &nbsp; background: #b3ada7;}.conversation .conversation-container {&nbsp; &nbsp; /*height: calc(100% - 68px);*/&nbsp; &nbsp; height: 100%;&nbsp; &nbsp; /*box-shadow: inset 0 10px 10px -10px #000000;*/&nbsp; &nbsp; overflow-x: hidden;&nbsp; &nbsp; padding: 0 16px;&nbsp; &nbsp; margin-bottom: 5px;&nbsp; pointer-events: auto;}.conversation .conversation-container:after {&nbsp; &nbsp; content: "";&nbsp; &nbsp; display: table;&nbsp; &nbsp; clear: both;}.message {&nbsp; &nbsp; color: #000;&nbsp; &nbsp; clear: both;&nbsp; &nbsp; line-height: 18px;&nbsp; &nbsp; /*font-size: 15px;*/&nbsp; &nbsp; padding: 8px;&nbsp; &nbsp; position: relative;&nbsp; &nbsp; margin: 8px 0;&nbsp; &nbsp; max-width: 85%;&nbsp; &nbsp; word-wrap: break-word;&nbsp; &nbsp; /* z-index: -1; */}.message:after {&nbsp; &nbsp; position: absolute;&nbsp; &nbsp; content: "";&nbsp; &nbsp; width: 0;&nbsp; &nbsp; height: 0;&nbsp; &nbsp; border-style: solid;}.metadata {&nbsp; &nbsp; display: inline-block;&nbsp; &nbsp; float: right;&nbsp; &nbsp; padding: 0 0 0 7px;&nbsp; &nbsp; position: relative;&nbsp; &nbsp; bottom: -4px;}.metadata .time {&nbsp; &nbsp; color: rgba(0, 0, 0, .45);&nbsp; &nbsp; font-size: 11px;&nbsp; &nbsp; display: inline-block;}.metadata .tick {&nbsp; &nbsp; display: inline-block;&nbsp; &nbsp; margin-left: 2px;&nbsp; &nbsp; position: relative;&nbsp; &nbsp; top: 4px;&nbsp; &nbsp; height: 16px;&nbsp; &nbsp; width: 16px;}.metadata .tick svg {&nbsp; &nbsp; position: absolute;&nbsp; &nbsp; transition: .5s ease-in-out;}.metadata .tick svg:first-child {&nbsp; &nbsp; -webkit-backface-visibility: hidden;&nbsp; &nbsp; backface-visibility: hidden;&nbsp; &nbsp; -webkit-transform: perspective(800px) rotateY(180deg);&nbsp; &nbsp; transform: perspective(800px) rotateY(180deg);}.metadata .tick svg:last-child {&nbsp; &nbsp; -webkit-backface-visibility: hidden;&nbsp; &nbsp; backface-visibility: hidden;&nbsp; &nbsp; -webkit-transform: perspective(800px) rotateY(0deg);&nbsp; &nbsp; transform: perspective(800px) rotateY(0deg);}.metadata .tick-animation svg:first-child {&nbsp; &nbsp; -webkit-transform: perspective(800px) rotateY(0);&nbsp; &nbsp; transform: perspective(800px) rotateY(0);}.metadata .tick-animation svg:last-child {&nbsp; &nbsp; -webkit-transform: perspective(800px) rotateY(-179.9deg);&nbsp; &nbsp; transform: perspective(800px) rotateY(-179.9deg);}.message:first-child {&nbsp; &nbsp; margin: 16px 0 8px;}.message.received {&nbsp; &nbsp; background: #fff;&nbsp; &nbsp; border-radius: 0px 5px 5px 5px;&nbsp; &nbsp; float: left;}.message.received .metadata {&nbsp; &nbsp; padding: 0 0 0 16px;}.message.received:after {&nbsp; &nbsp; border-width: 0px 10px 10px 0;&nbsp; &nbsp; border-color: transparent #fff transparent transparent;&nbsp; &nbsp; top: 0;&nbsp; &nbsp; left: -10px;}.message.sent {&nbsp; &nbsp; background: #e1ffc7;&nbsp; &nbsp; border-radius: 5px 0px 5px 5px;&nbsp; &nbsp; float: right;}.message.sent:after {&nbsp; &nbsp; border-width: 0px 0 10px 10px;&nbsp; &nbsp; border-color: transparent transparent transparent #e1ffc7;&nbsp; &nbsp; top: 0;&nbsp; &nbsp; right: -10px;}.ChatConvHid {&nbsp; &nbsp; display: none !important;}.message-video {&nbsp; &nbsp; background: #000;&nbsp; &nbsp; border-radius: 5px;}.message-image {&nbsp; &nbsp; width: 320px;&nbsp; &nbsp; height: 320px;&nbsp; &nbsp; overflow: hidden;&nbsp; &nbsp; border-radius: 5px;}.message-audio {}.message-document {}.message-location {}.message-btn {&nbsp; background-color: #b3ada7;&nbsp; border: none;&nbsp; color: white;&nbsp; padding: 12px 16px;&nbsp; font-size: 16px;&nbsp; cursor: pointer;&nbsp; display: block;&nbsp; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;}.message-btn:hover {&nbsp; background-color: #86817c;}@media (max-width: 768px) {&nbsp; &nbsp; .marvel-device.nexus5 {&nbsp; &nbsp; &nbsp; &nbsp; border-radius: 0;&nbsp; &nbsp; &nbsp; &nbsp; flex: none;&nbsp; &nbsp; &nbsp; &nbsp; padding: 0;&nbsp; &nbsp; &nbsp; &nbsp; max-width: none;&nbsp; &nbsp; &nbsp; &nbsp; overflow: hidden;&nbsp; &nbsp; &nbsp; &nbsp; height: 100%;&nbsp; &nbsp; &nbsp; &nbsp; width: 100%;&nbsp; &nbsp; }&nbsp; &nbsp; .marvel-device>.screen .chat {&nbsp; &nbsp; &nbsp; &nbsp; visibility: visible;&nbsp; &nbsp; }&nbsp; &nbsp; .marvel-device {&nbsp; &nbsp; &nbsp; &nbsp; visibility: hidden;&nbsp; &nbsp; }&nbsp; &nbsp; .marvel-device .status-bar {&nbsp; &nbsp; &nbsp; &nbsp; display: none;&nbsp; &nbsp; }&nbsp; &nbsp; .screen-container {&nbsp; &nbsp; &nbsp; &nbsp; position: absolute;&nbsp; &nbsp; &nbsp; &nbsp; top: 0;&nbsp; &nbsp; &nbsp; &nbsp; left: 0;&nbsp; &nbsp; &nbsp; &nbsp; right: 0;&nbsp; &nbsp; &nbsp; &nbsp; bottom: 0;&nbsp; &nbsp; }&nbsp; &nbsp; .conversation {&nbsp; &nbsp; &nbsp; &nbsp; height: calc(100vh - 55px);&nbsp; &nbsp; }&nbsp; &nbsp; .conversation .conversation-container {&nbsp; &nbsp; &nbsp; &nbsp; height: calc(100vh - 120px);&nbsp; &nbsp; }}&nbsp; &nbsp; </style>&nbsp; </head>&nbsp; <body>&nbsp; &nbsp; <script>&nbsp; &nbsp; &nbsp; var avatar =&nbsp; &nbsp; &nbsp; &nbsp; "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=userimage@1@4@7FD66E9B1F9F486D8C95";&nbsp; &nbsp; &nbsp; var nphoto =&nbsp; &nbsp; &nbsp; &nbsp; "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=dataimage_jpeg@1@4@C661281C60B847759EEB";&nbsp; &nbsp; &nbsp; var nvideo =&nbsp; &nbsp; &nbsp; &nbsp; "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=datavideo_mp4@1@4@4F5D6E742634422DAF2B";&nbsp; &nbsp; &nbsp; var nlocation = "location@1@4@314123992DA4406CAA7F";&nbsp; &nbsp; &nbsp; var ndocument =&nbsp; &nbsp; &nbsp; &nbsp; "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=04contrachequeintranetperbras_pdf@1@4@7168A9C3138745E99F3C";&nbsp; &nbsp; &nbsp; var naudio =&nbsp; &nbsp; &nbsp; &nbsp; "http://sistemas.corcino.com.br:8020/somos/getfile.rule?sys=BOT&arquivo=dataaudio_ogg@1@4@16CC8FAD9C8A469A8125";&nbsp; &nbsp; &nbsp; var latlon = "-10.9498287,-37.0654272";&nbsp; &nbsp; </script>&nbsp; &nbsp; <div id="chat"></div>&nbsp; &nbsp; <script>&nbsp; &nbsp; &nbsp; var ChatCompMap = new Map();&nbsp; &nbsp; &nbsp; function ChatComponente(c, ident, userimg, username) {&nbsp; &nbsp; &nbsp; &nbsp; let id = c + "_" + ident;&nbsp; &nbsp; &nbsp; &nbsp; if (!ChatCompMap.has(id)) ChatCompMap.set(id, { chat: c, user: ident });&nbsp; &nbsp; &nbsp; &nbsp; else return;&nbsp; &nbsp; &nbsp; &nbsp; let chatdiv = document.getElementById(c);&nbsp; &nbsp; &nbsp; &nbsp; if (!chatdiv.classList.contains("chat")) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* Requirement componentes */&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var el = document.createElement("style");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el.innerHTML = "";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.head.appendChild(el);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el = document.createElement("link");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el.setAttribute("rel", "stylesheet");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el.setAttribute("crossorigin", "anonymous");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el.setAttribute(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "href",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "https://cdn.jsdelivr.net/gh/englishextra/img-lightbox@latest/img-lightbox.min.css"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.head.appendChild(el);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el = document.createElement("script");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el.setAttribute(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "src",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "https://cdn.jsdelivr.net/gh/englishextra/img-lightbox@latest/img-lightbox.min.js"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; el.onload = function (e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; imgLightbox("img-lightbox-link");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.head.appendChild(el);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chatdiv.classList.add("chat");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; let nchatcontainer = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; nchatcontainer.setAttribute("id", ident);&nbsp; &nbsp; &nbsp; &nbsp; nchatcontainer.setAttribute("class", "chat-container");&nbsp; &nbsp; &nbsp; &nbsp; let nchatuserbar = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; nchatuserbar.setAttribute("class", "user-bar");&nbsp; &nbsp; &nbsp; &nbsp; let nchatconv = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; nchatconv.setAttribute("class", "conversation");&nbsp; &nbsp; &nbsp; &nbsp; let nchatconvcont = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; nchatconvcont.setAttribute("class", "conversation-container");&nbsp; &nbsp; &nbsp; &nbsp; let nchatavatar = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; nchatavatar.setAttribute("class", "avatar");&nbsp; &nbsp; &nbsp; &nbsp; let nchatname = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; nchatname.setAttribute("class", "name");&nbsp; &nbsp; &nbsp; &nbsp; nchatconv.append(nchatconvcont);&nbsp; &nbsp; &nbsp; &nbsp; nchatuserbar.append(nchatavatar);&nbsp; &nbsp; &nbsp; &nbsp; nchatuserbar.append(nchatname);&nbsp; &nbsp; &nbsp; &nbsp; nchatcontainer.append(nchatuserbar);&nbsp; &nbsp; &nbsp; &nbsp; nchatcontainer.append(nchatconv);&nbsp; &nbsp; &nbsp; &nbsp; chatdiv.append(nchatcontainer);&nbsp; &nbsp; &nbsp; &nbsp; let url = null;&nbsp; &nbsp; &nbsp; &nbsp; if (!userimg)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; userimg =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==";&nbsp; &nbsp; &nbsp; &nbsp; url = userimg;&nbsp; &nbsp; &nbsp; &nbsp; if (!username) username = "Usuário #" + ChatCompMap.size.toString();&nbsp; &nbsp; &nbsp; &nbsp; let img = document.createElement("img");&nbsp; &nbsp; &nbsp; &nbsp; img.src = url;&nbsp; &nbsp; &nbsp; &nbsp; let slct = "#" + c + " > #" + ident + " > div.user-bar > div.avatar";&nbsp; &nbsp; &nbsp; &nbsp; let slctn = "#" + c + " > #" + ident + " > div.user-bar > div.name";&nbsp; &nbsp; &nbsp; &nbsp; let obj = document.querySelector(slct);&nbsp; &nbsp; &nbsp; &nbsp; obj.append(img);&nbsp; &nbsp; &nbsp; &nbsp; obj = document.querySelector(slctn);&nbsp; &nbsp; &nbsp; &nbsp; obj.innerHTML = username;&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; function buildMessage(text, mode, h, file, mime) {&nbsp; &nbsp; &nbsp; &nbsp; var element = document.createElement("div");&nbsp; &nbsp; &nbsp; &nbsp; element.classList.add("message", mode);&nbsp; &nbsp; &nbsp; &nbsp; //test onclick&nbsp; &nbsp; &nbsp; &nbsp; //element.setAttribute("onclick","alert(\'GGG\');");&nbsp; &nbsp; &nbsp; &nbsp; var content = "";&nbsp; &nbsp; &nbsp; &nbsp; if (mime === "image") {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<a href="' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '" class="img-lightbox-link" aria-hidden="true">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<div class="message-image" onclick="alert(\'tst\');">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<img src="' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '" style="margin: -50% -40%;"></div></a><a href="http://uol.com.br">Teste</a>';&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; if (mime === "video") {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<video controls width="320" height="240" class="message-video"><source src="' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '" type="video/mp4">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Your browser does not support the video tag.</video><br>";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; if (mime === "audio") {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /*var request = new XMLHttpRequest();&nbsp; &nbsp; &nbsp; &nbsp; request.open('GET', file, true);&nbsp; &nbsp; &nbsp; &nbsp; request.responseType = 'blob';&nbsp; &nbsp; &nbsp; &nbsp; request.withCredentials = false;&nbsp; &nbsp; &nbsp; &nbsp; request.onload = function() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var reader = new FileReader();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.readAsDataURL(request.response);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.onload =&nbsp; function(e){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log('DataURL:', e.target.result);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; &nbsp; &nbsp; request.send();*/&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<audio controls autobuffer class="message-audio">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<source src="' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '" >' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Your browser does not support the video tag.</audio><br>";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; if (mime === "location") {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<button class="message-btn" onclick="window.open(\'' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '\', \'_blank\');"><svg width="50" height="50" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="map-marked-alt" class="svg-inline--fa fa-map-marked-alt fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"></path></svg></br>Goole Maps</button>';&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; if (mime === "document") {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<button class="message-btn" onclick="window.open(\'' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '\', \'_blank\');"><svg width="50" height="50" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-download" class="svg-inline--fa fa-file-download fa-w-12" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"></path></svg></br>Download</button>';&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; element.innerHTML =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<span class="metadata">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<span class="time">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "</span>" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<span class="tick tick-animation">' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" id="msg-dblcheck" x="2047" y="2061"><path d="M15.01 3.316l-.478-.372a.365.365 0 0 0-.51.063L8.666 9.88a.32.32 0 0 1-.484.032l-.358-.325a.32.32 0 0 0-.484.032l-.378.48a.418.418 0 0 0 .036.54l1.32 1.267a.32.32 0 0 0 .484-.034l6.272-8.048a.366.366 0 0 0-.064-.512zm-4.1 0l-.478-.372a.365.365 0 0 0-.51.063L4.566 9.88a.32.32 0 0 1-.484.032L1.892 7.77a.366.366 0 0 0-.516.005l-.423.433a.364.364 0 0 0 .006.514l3.255 3.185a.32.32 0 0 0 .484-.033l6.272-8.048a.365.365 0 0 0-.063-.51z" fill="#92a58c"/></svg>' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" id="msg-dblcheck-ack" x="2063" y="2076"><path d="M15.01 3.316l-.478-.372a.365.365 0 0 0-.51.063L8.666 9.88a.32.32 0 0 1-.484.032l-.358-.325a.32.32 0 0 0-.484.032l-.378.48a.418.418 0 0 0 .036.54l1.32 1.267a.32.32 0 0 0 .484-.034l6.272-8.048a.366.366 0 0 0-.064-.512zm-4.1 0l-.478-.372a.365.365 0 0 0-.51.063L4.566 9.88a.32.32 0 0 1-.484.032L1.892 7.77a.366.366 0 0 0-.516.005l-.423.433a.364.364 0 0 0 .006.514l3.255 3.185a.32.32 0 0 0 .484-.033l6.272-8.048a.365.365 0 0 0-.063-.51z" fill="#4fc3f7"/></svg>' +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "</span>" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "</span>";&nbsp; &nbsp; &nbsp; &nbsp; return element;&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; function animateMessage(message) {&nbsp; &nbsp; &nbsp; &nbsp; setTimeout(function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var tick = message.querySelector(".tick");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tick.classList.remove("tick-animation");&nbsp; &nbsp; &nbsp; &nbsp; }, 500);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; /* ------- novas funcoes ------------- */&nbsp; &nbsp; &nbsp; function ChatComponentExist(c, ident) {&nbsp; &nbsp; &nbsp; &nbsp; let id = c + "_" + ident;&nbsp; &nbsp; &nbsp; &nbsp; return ChatCompMap.has(id);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; function ChatNewMessage(c, ident, e, s, h, file, mime) {&nbsp; &nbsp; &nbsp; &nbsp; let id = c + "_" + ident;&nbsp; &nbsp; &nbsp; &nbsp; if (!ChatCompMap.has(id)) return;&nbsp; &nbsp; &nbsp; &nbsp; var conversation = document.querySelector(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "#" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; " > #" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ident +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; " > div.conversation > div.conversation-container"&nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; var input = e; //e.target.input;&nbsp; &nbsp; &nbsp; &nbsp; if (input || file) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var message = buildMessage(input, s, h, file, mime);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conversation.appendChild(message);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; animateMessage(message);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; conversation.scrollTop = conversation.scrollHeight;&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; function ChatComponentClear(c, ident) {&nbsp; &nbsp; &nbsp; &nbsp; let id = c + "_" + ident;&nbsp; &nbsp; &nbsp; &nbsp; if (!ChatCompMap.has(id)) return;&nbsp; &nbsp; &nbsp; &nbsp; const myNode = document.querySelector("#" + c + "> #" + ident);&nbsp; &nbsp; &nbsp; &nbsp; while (myNode.firstChild) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myNode.removeChild(myNode.lastChild);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; myNode.remove();&nbsp; &nbsp; &nbsp; &nbsp; ChatCompMap.delete(id);&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; function ChatComponentShow(c, ident, shw) {&nbsp; &nbsp; &nbsp; &nbsp; let id = c + "_" + ident;&nbsp; &nbsp; &nbsp; &nbsp; if (!ChatCompMap.has(id)) return;&nbsp; &nbsp; &nbsp; &nbsp; const myNode = document.querySelector("#" + c + "> #" + ident);&nbsp; &nbsp; &nbsp; &nbsp; if (!shw) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!myNode.classList.contains("ChatConvHid"))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myNode.classList.add("ChatConvHid");&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!myNode.classList.contains("ChatConvHid"))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myNode.classList.remove("ChatConvHid");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; ChatComponente("chat", "paulo", avatar, "Paulo Corcino");&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Texto",&nbsp; &nbsp; &nbsp; &nbsp; "sent",&nbsp; &nbsp; &nbsp; &nbsp; "8:00",&nbsp; &nbsp; &nbsp; &nbsp; null,&nbsp; &nbsp; &nbsp; &nbsp; null&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Texto Recebido",&nbsp; &nbsp; &nbsp; &nbsp; "received",&nbsp; &nbsp; &nbsp; &nbsp; "8:01",&nbsp; &nbsp; &nbsp; &nbsp; null,&nbsp; &nbsp; &nbsp; &nbsp; null&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Imagem",&nbsp; &nbsp; &nbsp; &nbsp; "received",&nbsp; &nbsp; &nbsp; &nbsp; "8:01",&nbsp; &nbsp; &nbsp; &nbsp; nphoto,&nbsp; &nbsp; &nbsp; &nbsp; "image"&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatNewMessage("chat", "paulo", "", "sent", "8:01", avatar, "image");&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Video",&nbsp; &nbsp; &nbsp; &nbsp; "received",&nbsp; &nbsp; &nbsp; &nbsp; "8:01",&nbsp; &nbsp; &nbsp; &nbsp; nvideo,&nbsp; &nbsp; &nbsp; &nbsp; "video"&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Audio",&nbsp; &nbsp; &nbsp; &nbsp; "received",&nbsp; &nbsp; &nbsp; &nbsp; "8:01",&nbsp; &nbsp; &nbsp; &nbsp; naudio,&nbsp; &nbsp; &nbsp; &nbsp; "audio"&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Documento",&nbsp; &nbsp; &nbsp; &nbsp; "received",&nbsp; &nbsp; &nbsp; &nbsp; "8:01",&nbsp; &nbsp; &nbsp; &nbsp; ndocument,&nbsp; &nbsp; &nbsp; &nbsp; "document"&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatNewMessage(&nbsp; &nbsp; &nbsp; &nbsp; "chat",&nbsp; &nbsp; &nbsp; &nbsp; "paulo",&nbsp; &nbsp; &nbsp; &nbsp; "Exemplo Localização",&nbsp; &nbsp; &nbsp; &nbsp; "received",&nbsp; &nbsp; &nbsp; &nbsp; "8:01",&nbsp; &nbsp; &nbsp; &nbsp; latlon,&nbsp; &nbsp; &nbsp; &nbsp; "location"&nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; ChatComponentShow("chat", "paulo", true);&nbsp; &nbsp; &nbsp; //http://maps.google.com/maps?q=-10.9498287,-37.0654272&z18&nbsp; &nbsp; &nbsp; //@-10.9498287,-37.0654272&z=&nbsp; &nbsp; </script>&nbsp; </body></html>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript