document.body.oncopy = function () { var body_element = document.getElementsByTagName('body')[0]; //获取当前所有文本内容 var selection; selection = window.getSelection(); // 获取当前用户所选内容 var tmp = selection.toString(); // 转化成字符串 var copytext = tmp.substring(0,200) ; // 截取字符串 var newdiv = document.createElement('div'); // 新增图层 body_element.appendChild(newdiv); //新增图层添加到body_element newdiv.innerHTML = copytext; //图层添加"selectAllChildren"内容 selection.selectAllChildren(newdiv); // 选择并选中"newdiv"的所有子元素 }; document.body.ondragstart = function() { // alert('禁止拖拉'); return false; }
时间: 2024-04-18 15:29:29 浏览: 158
根据您提供的代码,您想实现以下功能:
1. 当用户复制文本时,将选中的文本内容截取为字符串,并添加到一个新创建的div元素中。
2. 阻止用户拖动文本。
代码中的注释已经很清楚地解释了每个步骤的操作。您可以将这段代码添加到您的JavaScript文件中,或者直接在HTML文件的`<script>`标签中使用。
请注意,为了确保代码能够正常工作,需要确保在代码执行之前,文档的DOM结构已经加载完毕。
希望这可以帮助到您!如果您还有其他问题,请随时提问。
相关问题
document.oncontextmenu = function () { event.returnValue = false; } document.onselectstart = function () { event.returnValue = false; } document.oncopy = function () { event.returnValue = false; }代码注释,对代码进行解释
这段代码是用于禁止在网页上鼠标右键点击、禁止选择文本和禁止复制文本的功能。
具体来说,代码中定义了三个事件处理函数,分别是 `document.oncontextmenu`、`document.onselectstart` 和 `document.oncopy`。它们分别对应了在文档上右键点击、选择文本和复制文本三种操作。在这些事件中,通过设置 `event.returnValue` 属性为 `false`,来阻止浏览器执行默认的行为,从而禁止了对应的操作。
解释代码if(ua.match(/MicroMessenger/i) == 'micromessenger' || ua.indexOf("qq/") != -1 && ua.indexOf("_sq_") != -1) { document.getElementById("body1").setAttribute('oncontextmenu', "return true" ); document.getElementById("body1").setAttribute('oncopy', "return true" ); document.getElementById("body1").setAttribute('onselectstart', "return true" ); var ua_url = window.location.href; strs = ua_url.split("?"); var ua_body = document.getElementById("body1"); ua_body.innerHTML = "<br><br><div align = 'center'>如需浏览,请长按网址复制后使用浏览器访问<br><br>"+strs[0]+"</div> "; } else { xyurl = changeURLArg(window.location.href, "8_t", rr); var state = {title:'',url:window.location.href}; history.pushState(state,'',xyurl); } </script> </html>
这段代码的作用是根据用户的 User-Agent 字符串(即ua变量)判断用户当前使用的浏览器类型是否为微信或 QQ 浏览器,并根据不同情况执行不同的代码。如果用户使用的是微信或 QQ 浏览器,则将网页中的 oncontextmenu 、oncopy 和 onselectstart 事件设置为返回 true ,从而禁止用户复制、粘贴、剪切等操作,同时在网页中添加一段提示文字,提示用户长按网址复制后使用浏览器访问。如果用户使用的不是微信或 QQ 浏览器,则将当前网页的 URL 中的参数 8_t 替换为一个随机字符串 rr ,并将其加入到浏览器的历史记录中,以实现不刷新页面而改变 URL 的效果。
阅读全文