网页中的复制、另存为、运行等JS代码的实现
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();
}