日期:2014-05-16  浏览次数:20305 次

网页中的复制、另存为、运行等JS代码的实现
1、格式化编辑器,也就是我说的执行js代码前的转义函数,也就是html反替换函数
以下为引用的内容:
function  reHtml(str) {
var str = str.replace(/<br \/>/g, "").replace(/<BR>/g, "").replace(/<\/P>/g, "").replace(/<P>/g, "").replace(/&nbsp;/g, "").replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&lt;/g, "<").replace(/&gt;/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();
}