`

JavaScript实现拷贝网页内容

阅读更多

        今天在给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实现禁止复制网页内容

    主要介绍了javascript实现禁止复制网页内容,需要的朋友可以参考下

    JavaScript 深拷贝 递归 手写

    今天的学习笔记写在了自己的网页笔记本上,没有记录到博客,但是学到一个有关深拷贝的实现方法,为加深印象,这里给大家分享一下: 深拷贝:就是拷贝到最底层的属性。 function deepCopy(object){ //这里传入一个...

    程序天下:JavaScript实例自学手册

    14.10 用JavaScript实现数组排序 14.11 数字千分位函数 14.12 读写Cookie的函数 14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 ...

    《程序天下:JavaScript实例自学手册》光盘源码

    14.10 用JavaScript实现数组排序 14.11 数字千分位函数 14.12 读写Cookie的函数 14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 ...

    网站实时协作JavaScript库TogetherJS.zip

    共同创建:TogetherJS可以让用户在网站上实现实时协作; 针对Web构建:TogetherJS 基于JavaScript开发,无需安装软件或插件即可安装使用,对现有页面非常友好,开发者也可以根据自己需求,对其进行自定义添加。 ...

    JavaScript王者归来part.1 总数2

     2.1 嵌入网页的可执行内容   2.2 赏心悦目的特效   2.3 使用JavaScript来与用户交互  2.4 绕开脚本陷阱 2.5 总结   第3章 开发环境和调试方法  3.1 我能用什么来编写脚本--适合编写JavaScript的文本编辑...

    JavaScript实现倒计时跳转页面功能【实用】

    本文分享了JavaScript实现倒计时跳转页面功能的具体实例代码,页面代码简单,直接拷贝就能运行,页面可以自己美化下哦。需要的朋友一起来看下吧

    懒人原生移动网页侧滑栏滑动效果

    效果描述: 闲来无事,给大家写了一个首页网页常见的侧栏滑动效果 ... 本效果主要采用CSS3中的transform预计translate属性实现,点击按钮分别给侧栏增加或者删除... 2、将body中的代码部分拷贝到你需要的网页中即可

    floating_person:这是一个浮动在网页上的小人,支持菜单选择、拖动、隐藏、播放歌曲等功能,前端显示由HtmlCss控制,功能由JavascriptJquery实现

    floating_person####这是一个浮动在网页上的小人,支持菜单选择、拖动、隐藏、播放歌曲等功能,前端显示由Html/Css控制,功能由Javascript/Jquery实现直接将html,css等文件拷贝到项目中,即可运行,依赖库JQuery以及...

    纯CSS实现3D立体式字幕切换效果

    或者使用网页脚本语言,JavaScript来实现这种效果 今天特意整理了一个只用纯CSS3实现的3D立体式文字滚动效果 非常棒,特意整理了跟大家分享一下 使用方法: 1、将CSS样式拷贝到你的网页中 2、将body中...

    JS实现可直接显示网页代码运行效果的HTML代码预览功能实例

    JavaScript实现HTML代码预览功能,直接在网页上显示代码运行的效果,就例如点击“运行代码”后的效果,使用时,你只需将需要运行的HTML代码拷贝到文本框内,点击对应的功能按钮即可。 运行效果如下图所示: 具体...

    bojue.github.io:博客首先是给自己看的

    Bojue 项目列表 TODOList Blog List 前端 网络 ...Cookie机制 前端鉴权 Web浏览器缓存机制 ...网站加载Waiting (TTFB) 优化 ...JavaScript的深拷贝和浅拷贝 JavaScript中call,apply,bind方法的使用及原理 Java

    使用JavaScript开发IE浏览器本地插件实例

    实现这种插件方法比较简单,只需拷贝几个文件,修改一个注册表值即可。所以比较适合快速实现一些浏览器或者网站辅助功能。 实现步骤: 1.创建实现具体功能的html文件 代码如下: //文件名称:getticketslist.html //...

    web jsp table tree

    WebTable可以在网页上实现一个表格的增删改操作,并支持树型目录,简化用户对HTML和Javascript的编写。用户可以自定义各个表格列的类型(如文本、长度、数字型等),可以自定义各个表格列的输入方式(如文本框、...

    ArtOnWeb:帮助设计师快速创建个人作品网站的模板

    ArtOnWeb是一个静态网站,但通过javascript实现了资源的动态加载,甚至你拥有大量的作品,也不会影响网站打开的速度。 样例: 如何使用: 下载项目源码并解压。 将设计效果图拷贝到“ myworks”文件夹中,支持png...

    JS根据不同IP模仿腾讯天气预报效果

    内容索引:脚本资源,Ajax/JavaScript,天气预报 根据IP地址变化获取全国不同地区的天气预报,模仿腾讯天气的效果,基于JAvaScript代码实现,你只需拷贝JS代码到你的网站即可实现本功能,简洁好用。

    JAVA上百实例源码以及开源项目

    内容索引:JAVA源码,游戏娱乐,魔方,网页游戏  Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性...

    JSP动态网页制作基础培训教程源代码.rar

    读者可将相关文件夹(如ch2)拷贝到Tomcat服务器安装目录的子目录webapps下,并启动Tomcat服务器,在浏览器中浏览网页。 表1 第1章 序号 文件名称 位置 说明 1 SimpleJSP.jsp 第1章\ch1 第一个JSP页面 2 web.xml ...

    JAVA上百实例源码以及开源项目源代码

    Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分...

Global site tag (gtag.js) - Google Analytics