今天在给blog添加代码着色的功能的时候发现SyntaxHighlighter项目中使用的复制代码功能的脚本如果浏览器不是IE的话是使用的一个flash实现的,而且还要在HighlightAll调用之前先写一句dp.SyntaxHighlighter.ClipboardSwf = 'xxxxxx',太麻烦了,google了一下发现也有纯javascript实现拷贝的方法。
function copyCode(id) {
var txt=document.getElementById(id).innerText;
if(window.clipboardData){
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt);
}
else if(navigator.userAgent.indexOf("Opera") != -1){
window.location = txt;
}
else if (window.netscape){
txt=document.getElementById(id).textContent;
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e){
alert("!!被浏览器拒绝!\n请在浏览器地址栏输入’about:config’并回车\n然后将’signed.applets.codebase_principal_support’设置为’true’");
}
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
trans.addDataFlavor("text/unicode");
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = txt;
str.data = copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
window.status="代码已被复制到剪贴板!Contents have copied to clipboard!"
setTimeout("window.status=''",3600)
return true;
}
参数id就是你想要拷贝其内容的div的id。非常的简单。
分享到:
相关推荐
总结来说,JavaScript实现拷贝功能可以借助`ZeroClipboard`库,通过Flash技术绕过早期浏览器的安全限制,实现跨浏览器的剪贴板复制。随着技术发展,未来更多地会倾向于使用原生的`Clipboard API`,以提供更安全、更...
- **禁止拷贝网页内容的js代码**:虽然与`cloneNode()`方法不直接相关,但了解如何禁用页面内容的拷贝也是很有用的,尤其是在保护版权内容方面。 - **js深拷贝函数**:探讨不同方法实现深拷贝的过程,包括递归拷贝等...
这种方式对于那些希望离线查看网站内容,或者防止因网络问题无法访问网站的用户非常有用。 然而,需要注意的是,网站镜像可能会涉及版权和隐私问题。未经授权的网站镜像可能侵犯了原网站所有者的权益,因此在使用这...
在本文中,我们将深入探讨如何使用JavaScript来实现禁止用户复制网页内容的功能,以及这种方法的优缺点和潜在的限制。 首先,我们要了解JavaScript如何阻止用户的基本操作。在给出的代码中,有三种主要方法被用来...
2. 尊重版权:确保你有权复制和存储网站内容。未经授权的下载可能违反版权法。 3. 流量与服务器压力:大量或频繁的下载可能会对目标服务器造成负担,因此应合理控制下载速度,避免对网站运营造成影响。 4. 本地...
以下是一些基于JavaScript实现的常见网页特效: 1. **改变背景色**:使用`onMouseOver`事件监听器,可以当鼠标悬停在元素上时改变其背景颜色。例如,`onMouseOver="this.style.backgroundColor='颜色值'"`将元素的...
这类工具使得用户能够离线浏览网站内容或者在不同的服务器上部署相同副本,例如进行备份、分析或迁移。 描述中的“可以下载在线帮助文档,支持递归下载。”强调了该工具的一个关键特性,即能够递归地抓取和下载网站...
CSS用于定义网页的布局和样式,通过JavaScript可以动态修改CSS属性,实现交互效果。这份文档可能涵盖了CSS2的规范,包括选择器、盒模型、定位、浮动、背景和边框、文本样式等内容,这些知识对于理解JavaScript如何与...
要禁止网页内容被用户拷贝,主要有两种方式可以实现:一种是通过JavaScript,另一种是通过CSS。在本例中,提供了使用JavaScript禁止拷贝的...在实际操作中,应根据网站内容和目标用户群体,合理地选择保护版权的方法。
JavaScript是一种广泛应用于网页和网络应用的编程语言,它在客户端运行,可以与用户进行实时交互。在现代网页开发中,JavaScript的功能强大且多样化,其中包括能够将信息复制到用户的剪贴板。这一功能对于提高用户...
- **离线浏览**:在没有网络连接的情况下查看网站内容。 - **学习和研究**:分析网站的结构、设计和功能,为自己的项目提供参考。 - **数据抓取**:收集特定信息,如价格比较、市场分析等。 4. **操作流程**: ...
2. **计划任务**:用户可以设置定时任务,自动在指定时间下载或更新网站内容。 3. **断点续传**:如果下载过程中网络中断,Teleport Pro可以记住已下载的部分,恢复连接后继续下载。 4. **过滤器**:允许用户设置...
- **使用插件**:安装后,根据插件的提示操作,一般会在浏览器的工具栏出现一个图标,点击后即可实现网页内容的拷贝。 4. **源代码抓取** - **网络请求**:开发者工具中的"Network"面板可以查看网页加载的所有...
14.10 用JavaScript实现数组排序 14.11 数字千分位函数 14.12 读写Cookie的函数 14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 ...
第八章 "错误处理、引用类型"讨论了JavaScript中的错误处理机制,如try...catch语句,以及引用类型的特性,如对象和对象属性的访问,浅拷贝和深拷贝的区别。 第九章 "Function、面向对象"深入到JavaScript的函数...
14.10 用JavaScript实现数组排序 14.11 数字千分位函数 14.12 读写Cookie的函数 14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 ...
共同创建:TogetherJS可以让用户在网站上实现实时协作; 针对Web构建:TogetherJS 基于JavaScript开发,无需安装软件或插件即可安装使用,对现有页面非常友好,开发者也可以根据自己需求,对其进行自定义添加。 ...
网页反限制工具通常针对那些通过JavaScript或其他脚本语言实现的复制保护机制。这类保护可能包括禁用右键菜单、屏蔽复制和粘贴快捷键Ctrl+C和Ctrl+V,甚至还有更高级的限制技术,如动态内容加载和混淆代码。这些手段...
今天的学习笔记写在了自己的网页笔记本上,没有记录到博客,但是学到一个有关深拷贝的实现方法,为加深印象,这里给大家分享一下: 深拷贝:就是拷贝到最底层的属性。 function deepCopy(object){ //这里传入一个...
JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要在客户端运行,为用户提供动态交互体验。在JavaScript中,函数是代码的可重用部分,它们可以接受参数并返回值,是实现程序模块化的重要手段。在...