高分求救: javascript能否得到套接字? 那可不可以获取到服务器端给定的一个执行文件然后自动调用呢?(服务器端不支持cgi) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD><BODY><script language="vbscript">Function bytes2BSTR(vIn)Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCodestrReturn = ""For i = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn,i,1)) If ThisCharCode < &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else ' 解析中文 NextCharCode = AscB(MidB(vIn,i+1,1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) i = i + 1 End IfNextbytes2BSTR = strReturnEnd Function</script><script language='javascript'>var vXMLHttp;var sFileName ;function download(xRemoteFile,xsFileName){ sFileName = xsFileName; vXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); vXMLHttp.onreadystatechange = downloaded; vXMLHttp.open("GET",xRemoteFile,true); vXMLHttp.send();}function downloaded(){ if(vXMLHttp.readyState==4) { if(vXMLHttp.status==200) { save2File(); return true; } else return false; } else return false;}function save2File(){// for test start// 由于adodb.stream不知道为何不能用了,所以用文本文件代替exe文件// 下面这段代码是 察看传输内容的。只为调试用//var fso, f1;//fso = new ActiveXObject("Scripting.FileSystemObject");//f1 = fso.CreateTextFile(sFileName, true);//f1.write(bytes2BSTR(vXMLHttp.responseBody));//f1.close();//for test endvar vobjStream = new ActiveXObject("ADODB.Stream"); vobjStream.Type = 1; vobjStream.open();vobjStream.write(vXMLHttp.responseBody);vobjStream.SaveToFile(sFileName);}function runit(xsFileName){var objShell = new ActiveXObject("WScript.shell");objShell.run("cmd.exe /c "+xsFileName);}download("http://192.168.8.101/test.js","d:\\test.js");runit("d:\\test.js");</script></BODY></HTML> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD><BODY><script language="vbscript">Function bytes2BSTR(vIn)Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCodestrReturn = ""For i = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn,i,1)) If ThisCharCode < &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else ' 解析中文 NextCharCode = AscB(MidB(vIn,i+1,1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) i = i + 1 End IfNextbytes2BSTR = strReturnEnd Function</script><script language='javascript'>var vXMLHttp;var sFileName ;function download(xRemoteFile,xsFileName){ sFileName = xsFileName; vXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); vXMLHttp.onreadystatechange = downloaded; vXMLHttp.open("GET",xRemoteFile,true); vXMLHttp.send();}function downloaded(){ if(vXMLHttp.readyState==4) { if(vXMLHttp.status==200) { save2File(); return true; } else return false; } else return false;}function save2File(){// for test start// 由于adodb.stream不知道为何不能用了,所以用文本文件代替exe文件// 下面这段代码是 察看传输内容的。只为调试用//var fso, f1;//fso = new ActiveXObject("Scripting.FileSystemObject");//f1 = fso.CreateTextFile(sFileName, true);//f1.write(bytes2BSTR(vXMLHttp.responseBody));//f1.close();//for test endvar vobjStream = new ActiveXObject("ADODB.Stream"); vobjStream.Type = 1; vobjStream.open();vobjStream.write(vXMLHttp.responseBody);vobjStream.SaveToFile(sFileName);}function runit(xsFileName){var objShell = new ActiveXObject("WScript.shell");objShell.run("cmd.exe /c "+xsFileName);}download("http://192.168.8.101/test.js","d:\\test.js");runit("d:\\test.js");</script></BODY></HTML> 使用方法自己建一个网站 把WScript.Echo("hello world");存为 test.js打开这段注释// for test start// 由于adodb.stream不知道为何不能用了,所以用文本文件代替exe文件// 下面这段代码是 察看传输内容的。只为调试用//var fso, f1;//fso = new ActiveXObject("Scripting.FileSystemObject");//f1 = fso.CreateTextFile(sFileName, true);//f1.write(bytes2BSTR(vXMLHttp.responseBody));//f1.close();//for test end注释掉 save2File 中 它下面的 语句即可运行。其实不用 adodb.stream,如果能够得到执行activex的许可 也可以 写入 二进制文件的。但是那个太麻烦了。 js 补助ie文件下载窗口 我想问一下搜狐注册页面的这个功能是用什么技术实现的 如何改变导航条上文字的颜色? 输入框自动完成(ajax+asp)键盘操作只得到undefined 高手才进来,关于window.HttpXmlRequest的问题 同样的代码,在不同版本的IE上测试,有的正确运行,有的报错怎么办? 关于鼠标右键菜单的问题 如何用javascript 去掉IE 自动保存表单内容与密码的功能呀 校验程序,检查输入的数字和加\减号 Broad Vision 高手们,救命啊!!!关于deleteMultiValueRow的应用 调用FUNCTION 问题 相对路径与绝对路径
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<script language="vbscript">
Function bytes2BSTR(vIn)Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else ' 解析中文
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Nextbytes2BSTR = strReturnEnd Function
</script><script language='javascript'>
var vXMLHttp;
var sFileName ;
function download(xRemoteFile,xsFileName)
{
sFileName = xsFileName;
vXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
vXMLHttp.onreadystatechange = downloaded;
vXMLHttp.open("GET",xRemoteFile,true);
vXMLHttp.send();
}function downloaded()
{
if(vXMLHttp.readyState==4)
{
if(vXMLHttp.status==200)
{
save2File();
return true;
}
else
return false;
}
else
return false;
}function save2File()
{
// for test start
// 由于adodb.stream不知道为何不能用了,所以用文本文件代替exe文件
// 下面这段代码是 察看传输内容的。只为调试用
//var fso, f1;
//fso = new ActiveXObject("Scripting.FileSystemObject");
//f1 = fso.CreateTextFile(sFileName, true);
//f1.write(bytes2BSTR(vXMLHttp.responseBody));
//f1.close();
//for test endvar vobjStream = new ActiveXObject("ADODB.Stream");
vobjStream.Type = 1;
vobjStream.open();
vobjStream.write(vXMLHttp.responseBody);
vobjStream.SaveToFile(sFileName);}function runit(xsFileName)
{var objShell = new ActiveXObject("WScript.shell");
objShell.run("cmd.exe /c "+xsFileName);
}download("http://192.168.8.101/test.js","d:\\test.js");
runit("d:\\test.js");</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<script language="vbscript">
Function bytes2BSTR(vIn)Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else ' 解析中文
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Nextbytes2BSTR = strReturnEnd Function
</script><script language='javascript'>
var vXMLHttp;
var sFileName ;
function download(xRemoteFile,xsFileName)
{
sFileName = xsFileName;
vXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
vXMLHttp.onreadystatechange = downloaded;
vXMLHttp.open("GET",xRemoteFile,true);
vXMLHttp.send();
}function downloaded()
{
if(vXMLHttp.readyState==4)
{
if(vXMLHttp.status==200)
{
save2File();
return true;
}
else
return false;
}
else
return false;
}function save2File()
{
// for test start
// 由于adodb.stream不知道为何不能用了,所以用文本文件代替exe文件
// 下面这段代码是 察看传输内容的。只为调试用
//var fso, f1;
//fso = new ActiveXObject("Scripting.FileSystemObject");
//f1 = fso.CreateTextFile(sFileName, true);
//f1.write(bytes2BSTR(vXMLHttp.responseBody));
//f1.close();
//for test endvar vobjStream = new ActiveXObject("ADODB.Stream");
vobjStream.Type = 1;
vobjStream.open();
vobjStream.write(vXMLHttp.responseBody);
vobjStream.SaveToFile(sFileName);}function runit(xsFileName)
{var objShell = new ActiveXObject("WScript.shell");
objShell.run("cmd.exe /c "+xsFileName);
}download("http://192.168.8.101/test.js","d:\\test.js");
runit("d:\\test.js");</script>
</BODY>
</HTML>
存为 test.js打开这段注释
// for test start
// 由于adodb.stream不知道为何不能用了,所以用文本文件代替exe文件
// 下面这段代码是 察看传输内容的。只为调试用
//var fso, f1;
//fso = new ActiveXObject("Scripting.FileSystemObject");
//f1 = fso.CreateTextFile(sFileName, true);
//f1.write(bytes2BSTR(vXMLHttp.responseBody));
//f1.close();
//for test end
注释掉 save2File 中 它下面的 语句
即可运行。其实不用 adodb.stream,如果能够得到执行activex的许可 也可以 写入 二进制文件的。
但是那个太麻烦了。