«

运行代码预览代码,代码另存为,复制代码功能的实现

时间:2024-2-1 10:02     作者:韩俊     分类: Javascript


一些以展示html特效的网站经常会在具体页面加一个运行代码这样的一个效果,即特效代码在textarea文本框内,下面有一个运行代码按钮,点击运行按钮,就直接运行了textarea内的代码。下面和大家分享一个这样的案例,其实这个挺简单的。

首先截图展示一下本示例的效果:

运行代码预览代码,代码另存为,复制代码功能的实现

下面这段代码示例同时实现了预览代码,代码另存为和复制代码两个功能,注意这里的代码另存为,复制代码仅支持IE浏览器。

<html xmlns="http://www.maopiaopiao.com/javascript-function/38.html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js实现运行代码的预览功能</title>
</head>
<body>
<textarea id="codeContent" rows="9" cols="50">
在这里输入要运行的代码
</textarea>
<br>
<input type="button" onclick="runCode()" value="运行代码" />
<input type="button" onclick="copyCode()" value="复制代码" />
<input type="button" onclick="saveCode()" value="代码另存为" />
<script language="javascript">
var obj=document.getElementById('codeContent');
function runCode(){
    var code=obj.value;
    var newWindow=window.open('','','');
    newWindow.opener=null;
    newWindow.document.write(code);
    newWindow.document.close();
}
function saveCode(){
    var code=obj.value;
    var winname=window.open('','_blank','top=10000');
    winname.document.open('text/html','replace');
    winname.document.writeln(code);
    winname.document.execCommand('saveas','','phpernote.html');
    winname.close();
}
function copyCode(){
    if(isIE()){
        alert('代码已复制到剪贴板!');
    }else{
        alert('本页面复制功能仅支持IE浏览器!');
        return false;
    }
    var rng=document.body.createTextRange();
    rng.moveToElementText(obj);
    rng.scrollIntoView();
    rng.select();
    rng.execCommand("Copy");
    rng.collapse(false);
}
function isIE(){
    var Sys={};
    var ua=navigator.userAgent.toLowerCase();
    var s;
    (s=ua.match(/msie ([\d.]+)/))?Sys.ie=s[1]:false;
    return Sys.ie;
}
</script>
</body>
</html>

标签: javascript html css

热门推荐