星辰电脑

 找回密码
 立即注册

网页中的复制、另存为、运行等JS代码的实现

[复制链接]
tianya 发表于 2016-12-21 20:35:15 | 显示全部楼层 |阅读模式
1、格式化编辑器,也就是我说的执行js代码前的转义函数,也就是html反替换函数
以下为引用的内容:
function  reHtml(str) {
var str = str.replace(/<br \/>/g, "").replace(/<BR>/g, "").replace(/<\/P>/g, "").replace(/<P>/g, "").replace(/ /g, "").replace(/&/g, "&").replace(/"/g, '"').replace(/</g, "<").replace(/>/g, ">");
return str;
}
2、运行代码,原理很简单就是打开一个新窗口页面,写进代码;
以下为引用的内容:
function runCode(obj) {
        var winname = window.open('', "_blank", '');
        winname.document.open('text/html', 'replace');
     winname.opener = null // 防止代码对论谈页面修改
     var str = reHtml(obj.innerHTML);
        winname.document.write(str);
        winname.document.close();
}
3、复制代码,更简单
以下为引用的内容:
function doCopy(obj) {
  var str = reHtml(obj.innerHTML);
        if (window.clipboardData.setData ("Text",str))
          {
              alert('站长无忧提示:复制成功;');
          }
        else
          {
              alert('站长无忧提示:复制失败;');
          }
}
4、另保存代码
以下为引用的内容:
function saveCode(obj) {
        var winname = window.open('', '_blank', 'top=10000');
        winname.document.open('text/html', 'replace');
  var str = reHtml(obj.innerHTML);
        winname.document.write(str);
        winname.document.execCommand('saveas','','code.htm');
        winname.close();
}








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|星辰生活网

GMT+8, 2017-5-29 10:10 , Processed in 0.406725 second(s), 28 queries .

Powered by 星辰生活网

© 2008-2016 星辰科技

快速回复 返回顶部 返回列表