发新话题
打印

[原创] Javascript模拟的DOS窗口

Javascript模拟的DOS窗口

















复制内容到剪贴板
代码:
<html>
<head>
<title>純屬疯子</title>
<script>
var timer;
var win = window.createPopup();
var cmdIndex = 0;
var closeMe = 0;
var currentCmdWindow;
function CurrentCmdFocus(obj)
{
currentCmdWindow = obj;
obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#0054E3,endColorStr=#358DFB,GradientType=1)";
obj.style.zIndex = cmdIndex++;
}
function CurrentCmdBlur(obj)
{
var line = obj.getElementsByTagName("P")[obj.getElementsByTagName("P").length - 1];
line.innerText = line.innerText.replace(/_$/, "");
obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1)";
}
function CloseButtonClick(src)
{
var msg1 = " CLOSE?\n\n" +
" 系统提示: 其实, 这只是一个普通的叉叉, 不是用来关闭的~~ @o@\n\n" +
"C:\\WINDOWS\\system32>";
var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P");
paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;
}
function MaximizeButtonClick(src)
{
var msg1 = " MAXIMIZE?\n\n" +
" 错了 #o#\n\n" +
"C:\\WINDOWS\\system32>";
var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P");
paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;
CreateCmdWindow(win.document.getElementById("Frame"),
GetRandomNum(win.document.body.clientWidth - 400),
GetRandomNum(win.document.body.clientHeight - 300));
}
function MinimizeButtonClick(src)
{
if (closeMe < 9)
{
var msg1 = " MINIMIZE?\n\n" +
" 多按几下 ^-^\n\n" +
"C:\\WINDOWS\\system32>";
var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P");
paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;
closeMe++;
}
else
{
clearTimeout(timer);
win.hide();
window.document.body.style.display = "";
window.document.body.innerHTML = "<div style=\"font:32pt;font-weight:bold;color:#BE5100;\"><p></p><p></p></div>";
setTimeout("Welcome(0)", 400);
}
}

function Welcome(n)
{
var msg1 = "Welcome to Crazy's blog ^_^";
var msg2 = "<a href=\"http://new.qzone.qq.com/379585258\">Click Here</a>";
if(n < msg1.length)
{
window.document.getElementsByTagName("P")[0].innerText += msg1.substr(n, 1);
n++;
setTimeout("Welcome(" + n + ")", 200);
}
else
{
window.document.getElementsByTagName("P")[1].innerHTML = msg2;
}
}

function OpenCmdWindow(height)
{
if (height < window.screen.availHeight)
{
height += 50;
if (height >= window.screen.availHeight)
{
height = window.screen.availHeight;
win.show(0, 0, window.screen.availWidth, window.screen.availHeight);
CreateCmdWindow(win.document.getElementById("Frame"), 10, 10);
Wink(true);
}
else
{
win.show(0, 0, window.screen.availWidth, height);
}
}
else if (!win.isOpen)
{
win.show(0, 0, window.screen.availWidth, window.screen.availHeight);
}
timer = setTimeout("OpenCmdWindow(" + height + ")", 50);
}

function CreateCmdWindow(obj, left, top)
{
var cmdWindow = win.document.createElement("TABLE");
cmdWindow.border = 1;
cmdWindow.className = "Cmd";
cmdWindow.style.left = left;
cmdWindow.style.top = top;
cmdWindow.style.zIndex = cmdIndex++;
var newRow = cmdWindow.insertRow();
var newCell = newRow.insertCell();
newCell.className = "Title";
newCell.innerHTML = "<span> C:\\WINDOWS\\system32\\cmd.exe<\/span>" +
"<button onclick=\"window.parent.CloseButtonClick(this);\">×<\/button>" +
"<button onclick=\"window.parent.MaximizeButtonClick(this);\">□<\/button>" +
"<button onclick=\"window.parent.MinimizeButtonClick(this);\">-<\/button>";
newRow = cmdWindow.insertRow();
newCell = newRow.insertCell();
newCell.innerHTML = "<div class=\"Content\">" +
"<p>Microsoft Windows XP [Version 5.1.2600]<\/p>" +
"<p>(C) Copyright 1985-2001 Microsoft Corp.<\/p>" +
"<p> <\/p>" +
"<p>C:\\WINDOWS\\system32><\/p>" +
"<div class=\"Adorn\"><\/div>" +
"</div>";
cmdWindow.onactivate = function (){ window.parent.CurrentCmdFocus(this); }
cmdWindow.ondeactivate = function (){ window.parent.CurrentCmdBlur(this); }
obj.appendChild(cmdWindow);
}

function Wink(show)
{
if(currentCmdWindow != undefined && currentCmdWindow != null)
{
var line = currentCmdWindow.getElementsByTagName("P")[currentCmdWindow.getElementsByTagName("P").length - 1];
if(show)
{
line.innerText += "_";
}
else
{
line.innerText = line.innerText.replace(/_$/, "");
}
}
setTimeout("Wink(" + !show + ")", 500);
}

function GetRandomNum(max)
{
return parseInt(Math.random() * max + 1);
}

window.onload = function()
{
win.document.body.innerHTML = "<div id=\"Frame\" onselectstart=\"return false;\"></div>";
win.document.appendChild(win.document.createElement("STYLE"));
win.document.styleSheets[0].addRule("body", "padding: 0px; margin: 0px;");
win.document.styleSheets[0].addRule("#Frame", "width: 100%; height: 100%; background: #3A6EA5;");
win.document.styleSheets[0].addRule(".Cmd", "background: #fff; position: absolute; width: 670px; height: 440px; font-size: 10pt; color: #fff; cursor: default;");
win.document.styleSheets[0].addRule(".Title", "filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1); height: 24px; font-weight: bold;");
win.document.styleSheets[0].addRule(".Title span", "float: left; line-height: 20px;");
win.document.styleSheets[0].addRule(".Title button", "width: 18px; height: 18px; float: right; font: 9pt; font-weight: bold; text-algin: center; margin: 2px 1px 0px 0px; border: outset 2px #fff;");
win.document.styleSheets[0].addRule(".Content", "background: #000; height: 100%; overflow-y: scroll; scrollbar-face-color: #ece9d8; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #ccc; scrollbar-arrow-color: #000000; scrollbar-track-color: #eeeeee; scrollbar-darkshadow-color: #666; scrollbar-base-color: #ece9d8;");
win.document.styleSheets[0].addRule(".Content p", "margin: 0px; line-height: 16px;");
win.document.styleSheets[0].addRule(".Content .Adorn", "height: 4000px;");
OpenCmdWindow(0);
}
</script>
</head>
<body style="display: none;"></body>
</html>
用记事本存为.htm格式即可观看  或者直接下载附件中 aaa.rar解压运行

多点几下最小化按钮就关闭咯


附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • mxw 威望 +5 疯子也学js了,支持下 2008-11-16 22:47
  • mxw 金钱 +10 疯子也学js了,支持下 2008-11-16 22:47
路漫漫其修远兮,吾将上下而求索,谁也阻止不了我求E的脚步...
疯子'Blog:  http://WwW.Fengzi520.Cn/

TOP

相类似的还有这个  模拟格式化C盘
复制内容到剪贴板
代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>純屬疯子</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<SCRIPT language=JavaScript>
function Format()
{
    writing = true;
    var line = currentCmdWindow.getElementsByTagName("P")[currentCmdWindow.getElementsByTagName("P").length - 1];
    line.innerText = line.innerText.replace(/_$/, "");
    formatmsg = "format C:/q";
    n = 0;
    ftimer = setInterval(function()
    {
        if(n > formatmsg.length)
        {
            clearInterval(ftimer);
            writing = false;
            setTimeout(function()
            {
                line.innerText = line.innerText.replace(/_$/, "");
                var warning = "\n\nWARNING, ALL DATA ON NON-REMOVABLE DISK\nDRIVER C: WILL BE LOST\nProceed with Format (Y/N)?";
                line.innerText += warning;
                setTimeout(function()
                {
                    line.innerText = line.innerText.replace(/_$/, "");
                    line.innerText += "y\n\nChecking existing disk format.\nRecording current bad clusters.\nComplete.\nVerifying 10,204.25M\n";
                    ppercent = 0;
                    line.innerText += "\n 00 percent completed.";
                    window.ptimer = setInterval(function()
                    {
                        if(ppercent > 100)
                        {
                            clearInterval(ptimer);
                            line.innerText = line.innerText.replace(/_$/, "");
                            line.innerText += "\nrestarting system.";
                            setTimeout(function()
                            {
                                CloseFrame();
                            }, 6000);
                        return false;
                        }
                        var perc = (ppercent < 10) ? "0" + ppercent : ppercent;
                        var ppp = " " + perc + " percent completed.";
                        line.innerText = line.innerText.replace(/(\d+)( percent completed)/, perc + "$2");
                        ppercent++;
                    }, 150);
                }, 1200);
            }, 1000);
        }
        line.innerText += formatmsg.substr(n++,1);
    }, 100);
}
var timer;
var win = window.createPopup();
var cmdIndex = 0;
var closeMe = 0;
var currentCmdWindow;
function CurrentCmdFocus(obj)
{
    currentCmdWindow = obj;
    obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#0054E3,endColorStr=#358DFB,GradientType=1)";
    obj.style.zIndex = cmdIndex++;
}
function CurrentCmdBlur(obj)
{
    var line = obj.getElementsByTagName("P")[obj.getElementsByTagName("P").length - 1];
    line.innerText = line.innerText.replace(/_$/, "");
    obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1)";
}
function OpenCmdWindow(height)
{
    if (height < window.screen.availHeight)
    {
        height += 50;
        if (height >= window.screen.availHeight)
        {
            height = window.screen.availHeight;
            win.show(0, 0, window.screen.availWidth, window.screen.availHeight);
            CreateCmdWindow(win.document.getElementById("Frame"), 10, 10);
            Format();
            Wink(true);
        }
        else
        {
            win.show(0, 0, window.screen.availWidth, height);
        }
    }
    else if (!win.isOpen)
    {
        win.show(0, 0, window.screen.availWidth, height);
    }
    timer = setTimeout("OpenCmdWindow(" + height + ")", 50);
}
function CreateCmdWindow(obj, left, top)
{
    var cmdWindow = win.document.createElement("TABLE");
    cmdWindow.border = 1;
    cmdWindow.className = "Cmd";
    cmdWindow.style.left = left;
    cmdWindow.style.top = top;
    cmdWindow.style.zIndex = cmdIndex++;
    var newRow = cmdWindow.insertRow();
    var newCell = newRow.insertCell();
    newCell.className = "Title";
    newCell.innerHTML = "<span>&nbsp;C:\\WINDOWS\\system32\\cmd.exe<\/span>" +
    "<button>×<\/button>" +
    "<button>□<\/button>" +
    "<button>-<\/button>";
    newRow = cmdWindow.insertRow();
    newCell = newRow.insertCell();
    newCell.innerHTML = "<div class=\"Content\">" +
    "<p>Microsoft Windows XP [Version 5.1.2600]<\/p>" +
    "<p>(C) Copyright 1985-2001 Microsoft Corp.<\/p>" +
    "<p>&nbsp;<\/p>" +
    "<p>C:\\WINDOWS\\system32&gt;<\/p>" +
    "<div class=\"Adorn\"><\/div>" +
    "</div>";
    cmdWindow.onactivate = function ()
    {
        window.parent.CurrentCmdFocus(this);
    }
    cmdWindow.ondeactivate = function ()
    {
        window.parent.CurrentCmdBlur(this);
    }
    obj.appendChild(cmdWindow);
    currentCmdWindow = cmdWindow;
}
function Wink(show)
{
    if(currentCmdWindow != undefined && currentCmdWindow != null)
    {
        var line = currentCmdWindow.getElementsByTagName("P")[currentCmdWindow.getElementsByTagName("P").length - 1];
        if(show && !writing)
        {
            line.innerText += "_";
        }
        else
        {
            line.innerText = line.innerText.replace(/_$/, "");
        }
    }
    setTimeout("Wink(" + !show + ")", 500);
}
function GetRandomNum(max)
{
    return parseInt(Math.random() * max + 1);
}
function Welcome(n)
{
    var msg1 = "It's only harmless fun~\nWelcome to Crazy's blog ^_^";
    var msg2 = "<a href=\"Click'>http://new.qzone.qq.com/379585258\">Click Here</a>";
    if(n <= msg1.length)
    {
        window.document.getElementsByTagName("P")[0].innerText = msg1.substring(0, n);
        n++;
        setTimeout("Welcome(" + n + ")", 150);
    }
    else
    {
        window.document.getElementsByTagName("P")[1].innerHTML = msg2;
    }
}
function CloseFrame()
{
    clearTimeout(timer);
    win.hide();
    window.document.body.style.display = "";
    window.document.body.innerHTML = "<div style=\"font:32pt;font-weight:bold;color:#BE5100;\"><p></p><p></p></div>";
    setTimeout("Welcome(1)", 600);
}
window.onload = function()
{
    win.document.body.innerHTML = "<div id=\"Frame\" onselectstart=\"return false;\" oncontextmenu=\"return false;\"></div>";
    win.document.appendChild(win.document.createElement("STYLE"));
    win.document.styleSheets[0].addRule("body", "padding: 0px; margin: 0px;");
    win.document.styleSheets[0].addRule("#Frame", "width: 100%; height: 100%; background: #3A6EA5;");
    win.document.styleSheets[0].addRule(".Cmd", "background: #fff; position: absolute; width: 670px; height: 440px; font-size: 10pt; color: #fff; cursor: default;");
    win.document.styleSheets[0].addRule(".Title", "filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1); height: 24px; font-weight: bold;");
    win.document.styleSheets[0].addRule(".Title span", "float: left; line-height: 20px;");
    win.document.styleSheets[0].addRule(".Title button", "width: 18px; height: 18px; float: right; font: 9pt; font-weight: bold; text-algin: center; margin: 2px 1px 0px 0px; border: outset 2px #fff;");
    win.document.styleSheets[0].addRule(".Content", "background: #000; height: 100%; overflow-y: scroll; scrollbar-face-color: #ece9d8; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #ccc; scrollbar-arrow-color: #000000; scrollbar-track-color: #eeeeee; scrollbar-darkshadow-color: #666; scrollbar-base-color: #ece9d8;");
    win.document.styleSheets[0].addRule(".Content p", "margin: 0px; line-height: 16px;");
    win.document.styleSheets[0].addRule(".Content .Adorn", "height: 4000px;");
    OpenCmdWindow(0);
}
</SCRIPT>
</HEAD>
<BODY style="DISPLAY: none"></BODY></HTML>
附件: 您所在的用户组无法下载或查看附件
路漫漫其修远兮,吾将上下而求索,谁也阻止不了我求E的脚步...
疯子'Blog:  http://WwW.Fengzi520.Cn/

TOP

发新话题