正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> JavaScript资料库 关闭(快捷键alt+C)
搜索标签: 在线编辑 运行 预览
实现在线编辑、运行、预览html(Xhtml)、js、css
[阅读次数:2482次]  [发布时间:2009年8月3日]
前言 

色彩斑斓的"马"虽然利用插入代码功能可以很华丽的插入色彩斑斓的代码,但是就html(Xhtml)代码、js代码、css代码而言,我更喜欢想蓝色理想论坛中的那种:有个文本框,文本框里面是网页代码,然后点击“运行代码”就可以很方便地以文本框中的内容新建一个页面,从而很直观方便的看到代码的运行效果。 

所以今天抽了半天的时间做了这个小工具。可以很方便达到那种效果。厚道的说一声:的确参看了蓝色理想的代码,但是自己也修改了很多,因为原来的代码对firefox的兼容性实在是太差了,自己修正了比较多的代码,从而提供了对firefox更好地支持。但是非常遗憾的是,那个保存代码为html文件的功能,虽然很想也修改为能够兼容firefox,但是因为有点超出现阶段我的能力范围,所以留了个遗憾。虽然找到了一些 比较有价值的资料,但是依然没有能够实现此功能对firefox的支持。如果哪位高手有此经验,还请不吝赐教。其实那个工具,只是为了更方便以后的操作而已,并没有什么技术含量。比较核心的代码如下。 


核心代码 
复制  保存
/*****运行代码*******************************/
function runCode() {
var newWin = window.open(’’, "_blank", ’’);
newWin.document.open(’text/html’, ’replace’);
newWin.opener = null;
var testCode=document.getElementById("txtTestCode").value;
newWin.document.write(testCode);
newWin.document.close();
}

/*****复制代码到粘贴板*********************/
function copyCode(obj){    
    var testCode=document.getElementById("txtTestCode").value;    
    if(copy2Clipboard(testCode)!=false)
    {        
        alert("生成的代码已经复制到粘贴板,你可以使用Ctrl+V 贴到需要的地方去了哦!  ");        
    }    
}
//很大的一陀是为了对firefox的兼容
copy2Clipboard=function (txt){    
    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){        
        try{            
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");            
        }catch(e){            
            alert("您的firefox安全限制限制您进行剪贴板操作,请打开’about:config’将signed.applets.codebase_principal_support’设置为true’之后重试");            
            return false;            
        }
        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);        
}

/*****保存代码为html页面,非常遗憾的现阶段只支持IE******/
function saveCode(obj) {
var newWin = window.open(’’, ’_blank’, ’top=10000’);//这里是个技巧,弹出的页面,虽然去不掉,但是我们可以让它向下移动到屏幕之外
newWin.document.open(’text/html’, ’replace’);
var testCode=document.getElementById("txtTestCode").value;
newWin.document.write(testCode);
newWin.document.execCommand(’saveas’,’’,’code.htm’);//firefox不兼容的主要原因就是因为ff不支持execCommand(’saveas’,’’,’filename’);
newWin.close();
}




本页地址: [复制地址]
该页内容非本站原创 收藏自:http://www.hotel520.com/b/HTML/83543.html
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·IE弹出“中国工商银行防钓鱼...
·如何取消键盘上的一些快捷键...
·win7声音小的解决方法
·webdav漏洞的利用
·强制两端对齐的函数或者CSS...
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·js验证手机号码格式
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。