给大家一个脚本,用来调试脚本的。 您可以根据需要修改 d:\runselect.htm 的内容如果使用后觉得好用,就帮我 up一下下把 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我又修改了一下,新加了一些功能:1。区分ctrl键和shift键,当按shift键的时候,在新窗口中原样输出所选区域的内容。当按ctrl键的时候,如果所选文字没有包含<script>标记,脚本会自动加上2。当执行脚本的同时,让鼠标所在位置的区域变成可以编辑的.请替换相关部分:<script language="JavaScript">try{ var oWindow=window.external.menuArguments; var oDocument=oWindow.document; var oSelect=oDocument.selection; var oSelectRange=oSelect.createRange(); var selectText=oSelectRange.text; var oEvent=oWindow.event; try{ //处理td标签 if (/^td$/i.test(oEvent.srcElement.tagName)){ oEvent.srcElement.innerHTML="<span contentEditable='true'>"+oEvent.srcElement.innerHTML+"</span>"; } oEvent.srcElement.contentEditable=true; oEvent.srcElement.readonly=false; alert("您可以编辑当前区域中的文本了"); }catch(x){} }catch(x){}if(selectText.length!=0){ if (oEvent.ctrlKey || oEvent.shiftKey){ //ctrl或者shift键的其中任何一个键被按下 var wexec=window.open("about:blank",null,null); var s=""; //如果选择的文字包含了script标签或者按下了shift键, if ((/<script(.|\n)*<\/script>/gi.test(selectText)) || (oEvent.shiftKey)){ s=selectText; }else{ s="<script>\n\n"+selectText+"\n\n</"+"script>"; } try{ wexec.document.open(); wexec.document.write(s); wexec.document.close(); }catch(x){}; }else{ try{ eval(selectText); }catch(x){alert(" 脚本出错:\n"+x.message)}; }}</script> 好东东..... 多谢提供 !!! 哈~~ 好多地方用得著啊..... 如果写成 HTA .. 再做个简单的安装程序就更爽了 !! 期待继续改进.... 报告 : 刚试了下, 还算好用.但是有一个问题, 当我选一段没有 script 标签的html 文本后.如果不按 shift 键, 直接运行会报错.↓ 这个是我刚才测试的代码.<input type=checkbox onclick="document.all.txt.style.display=(this.checked)?'','none'"><input name=txt style="display: none"> 1. 我实在没有时间写hta呀,最近在学习 scriptlet.呼呼关于注册表,因为我这里只有 windows2000阿。我没有办法测试xp,98下的注册表,不过根据我以前对注册表的研究,那些键,和键值应该是不变的,最多是把版本改一下把下面这句话改一下:Windows Registry Editor Version 5.00请有xp和98的朋友帮我贴出 xp和98下的 注册表文件.2.<input type=checkbox onclick="document.all.txt.style.display=(this.checked)?'','none'"><input name=txt style="display: none">这段代码本来就是错误的.改为document.all.txt.style.display=(this.checked)?'':'none'"就好.事实上,我的脚本根本不知道您所选择的东东是不是一段合法的js代码。您可能选择的是几个汉字,或者一篇短篇小说,即使是选择的js代码。我也可能不知道你选择的代码中是不是有语法错误呀,所以我决定先执行代码,然后由浏览器来提示所选代码中的错误(如果有的话)。所以我提供了3种方式来运行您选择的文本(直接运行,按ctrl键运行,按shift键运行,可以让您根据实际情况决定)最后,我的脚本一个不足的地方是没有判断选择区域的类型是否是文本类型.(应该要屏蔽在超级链接和图像上的脚本运行的)修改如下:if((selectText.length!=0) && (oSelect.type=="Text")){ 嘿嘿....... 原来如此... 看来这个东东还能用来判断脚本的正确性. 正确了才执行 ?.....但, 我刚才用的时候出现了奇怪的问题, 按住 shift 选择运行....第一次出错, 再选一次, 再运行就正常了?.... 新功能赞时想不到... 不过有个小问题得先解决啊.不按 shift 或 ctrl 的时候, 就没成功执行过一次.....(即使代码没问题, 也得按 shift 才能执行)而且按shif 的时候, 有时候第一次出错...然后再选一次, 再运行又正常了... 这些虽然没大碍, 但就是用着不爽啊~! 不是把,不按 shift键和ctrl是没有问题的阿。你是不是直接执行的时候,所选择的部分包含了 <script>标签阿还有,如果你按shift或者ctrl键运行代码的时候,应该先按住shift键或者ctrl键,然后再选择文字,然后鼠标在所选文字上右击---〉运行这样是最保险的方法 如何实现在原来的地方更新某行的内容,不跳转到别的页面 谁能把下面的C#的代码转成javascript代码呀? 怎么让它计算到整数啊? jquery json给td赋值 求一简单的EXT刷新功能 window.opener给前一网页传值时不支持框架吗? 简单的图片切换 隐藏表格行的问题 请教:如何在javascript中获得服务器的ip地址? 参数传递问题来了! 可不可以用javascript和input实现select对象!急急........... 一个关于层的问题,不知道怎么解决,请大家帮忙给看看!!!!!
<script language="JavaScript">
try{
var oWindow=window.external.menuArguments;
var oDocument=oWindow.document;
var oSelect=oDocument.selection;
var oSelectRange=oSelect.createRange();
var selectText=oSelectRange.text;
var oEvent=oWindow.event;
try{
//处理td标签
if (/^td$/i.test(oEvent.srcElement.tagName)){
oEvent.srcElement.innerHTML="<span contentEditable='true'>"+oEvent.srcElement.innerHTML+"</span>";
}
oEvent.srcElement.contentEditable=true;
oEvent.srcElement.readonly=false;
alert("您可以编辑当前区域中的文本了");
}catch(x){}
}catch(x){}if(selectText.length!=0){
if (oEvent.ctrlKey || oEvent.shiftKey){ //ctrl或者shift键的其中任何一个键被按下
var wexec=window.open("about:blank",null,null);
var s="";
//如果选择的文字包含了script标签或者按下了shift键,
if ((/<script(.|\n)*<\/script>/gi.test(selectText)) || (oEvent.shiftKey)){
s=selectText;
}else{
s="<script>\n\n"+selectText+"\n\n</"+"script>";
}
try{
wexec.document.open();
wexec.document.write(s);
wexec.document.close();
}catch(x){};
}else{
try{
eval(selectText);
}catch(x){alert(" 脚本出错:\n"+x.message)};
}
}
</script>
但是有一个问题, 当我选一段没有 script 标签的html 文本后.
如果不按 shift 键, 直接运行会报错.↓ 这个是我刚才测试的代码.<input type=checkbox onclick="document.all.txt.style.display=(this.checked)?'','none'">
<input name=txt style="display: none">
那些键,和键值应该是不变的,最多是把版本改一下把下面这句话改一下:
Windows Registry Editor Version 5.00
请有xp和98的朋友帮我贴出 xp和98下的 注册表文件.
2.
<input type=checkbox onclick="document.all.txt.style.display=(this.checked)?'','none'">
<input name=txt style="display: none">这段代码本来就是错误的.改为
document.all.txt.style.display=(this.checked)?'':'none'"
就好.事实上,我的脚本根本不知道您所选择的东东是不是一段合法的js代码。
您可能选择的是几个汉字,或者一篇短篇小说,即使是选择的js代码。
我也可能不知道你选择的代码中是不是有语法错误呀,所以我决定先
执行代码,然后由浏览器来提示所选代码中的错误(如果有的话)。
所以我提供了3种方式来运行您选择的文本(直接运行,按ctrl键运行,按shift键运行,可以让您根据实际情况决定)最后,我的脚本一个不足的地方是没有判断选择区域的类型是否是文本类型.
(应该要屏蔽在超级链接和图像上的脚本运行的)修改如下:if((selectText.length!=0) && (oSelect.type=="Text")){
的正确性. 正确了才执行 ?.....但, 我刚才用的时候出现了奇怪的问题, 按住 shift 选择运行....
第一次出错, 再选一次, 再运行就正常了?....
(即使代码没问题, 也得按 shift 才能执行)
而且按shif 的时候, 有时候第一次出错...然后再选一次, 再运行又
正常了... 这些虽然没大碍, 但就是用着不爽啊~!
你是不是直接执行的时候,所选择的部分包含了 <script>标签阿还有,如果你按shift或者ctrl键运行代码的时候,应该
先按住shift键或者ctrl键,然后再选择文字,然后鼠标在所选文字
上右击---〉运行
这样是最保险的方法