工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2262|回复: 3

运行网页代码的代码……

[复制链接]
发表于 2007-1-6 01:38 | 显示全部楼层 |阅读模式
上次发帖要求有BI的网页代码运行功能,未果
找到了相应代码 :(
就这么简单的代码……

  1. <html>
  2. <head>
  3.   <title>运行这段代码</title>
  4. </head>
  5. <body>
  6. <script language="javascript">
  7.     function runcode(k){
  8.         var c=document.getElementById(k).value;
  9.         var cwin=window.open();
  10.         
  11.         cwin.document.open();
  12.         cwin.document.write(c);
  13.         cwin.document.close();
  14.     }
  15. </script>
  16. <a href="javascript:runcode('code');">运行代码</a>
  17. <textarea id="code" style="width=600p;height:200px">
  18. </textarea>
  19. </body>
  20. </html>
复制代码
 楼主| 发表于 2007-6-11 14:01 | 显示全部楼层
Discuz!的ajax.js
刚刚从临时文件夹上拿来

有空要认真看看……


MS用了prototype.js里的某些函数……
比如: $() 函数
完全初学者看的话大概有些难度
/*
        [Discuz!] (C)2001-2007 Comsenz Inc.
        This is NOT a freeware, use is subject to license terms

        $RCSfile: ajax.js,v $
        $Revision: 1.17.2.25 $
        $Date: 2007/03/21 15:53:02 $
*/
var Ajaxs = new Array();
function Ajax(recvType, statusId) {
        var aj = new Object();
        aj.statusId = statusId ? document.getElementById(statusId) : null;
        aj.targetUrl = '';
        aj.sendString = '';
        aj.recvType = recvType ? recvType : 'XML';
        aj.resultHandle = null;

        aj.createXMLHttpRequest = function() {
                var request = false;
                if(window.XMLHttpRequest) {
                        request = new XMLHttpRequest();
                        if(request.overrideMimeType) {
                                request.overrideMimeType('text/xml');
                        }
                } else if(window.ActiveXObject) {
                        var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
                        for(var i=0; i<versions.length; i++) {
                                try {
                                        request = new ActiveXObject(versions[ i]);
                                        if(request) {
                                                return request;
                                        }
                                } catch(e) {
                                        //alert(e.message);
                                }
                        }
                }
                return request;
        }

        aj.XMLHttpRequest = aj.createXMLHttpRequest();

        aj.processHandle = function() {
                if(aj.statusId) {
                        aj.statusId.style.display = '';
                }
                if(aj.XMLHttpRequest.readyState == 1 && aj.statusId) {
                        aj.statusId.innerHTML = xml_http_building_link;
                } else if(aj.XMLHttpRequest.readyState == 2 && aj.statusId) {
                        aj.statusId.innerHTML = xml_http_sending;
                } else if(aj.XMLHttpRequest.readyState == 3 && aj.statusId) {
                        aj.statusId.innerHTML = xml_http_loading;
                } else if(aj.XMLHttpRequest.readyState == 4) {
                        if(aj.XMLHttpRequest.status == 200) {
                                for(k in Ajaxs) {
                                        if(Ajaxs[k] == aj.targetUrl) {
                                                Ajaxs[k] = null;
                                        }
                                }

                                if(aj.statusId) {
                                        aj.statusId.innerHTML = xml_http_data_in_processed;
                                        aj.statusId.style.display = 'none';
                                }
                                if(aj.recvType == 'HTML') {
                                        aj.resultHandle(aj.XMLHttpRequest.responseText, aj);
                                } else if(aj.recvType == 'XML') {
                                        aj.resultHandle(aj.XMLHttpRequest.respon***ML.lastChild.firstChild.nodeValue, aj);
                                }
                        } else {
                                if(aj.statusId) {
                                        aj.statusId.innerHTML = xml_http_load_failed;
                                }
                        }
                }
        }

        aj.get = function(targetUrl, resultHandle) {
                if(in_array(targetUrl, Ajaxs)) {
                        return false;
                } else {
                        arraypush(Ajaxs, targetUrl);
                }
                aj.targetUrl = targetUrl;
                aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
                aj.resultHandle = resultHandle;
                if(window.XMLHttpRequest) {
                        aj.XMLHttpRequest.open('GET', aj.targetUrl);
                        aj.XMLHttpRequest.send(null);
                } else {
                        aj.XMLHttpRequest.open("GET", targetUrl, true);
                        aj.XMLHttpRequest.send();
                }
        }

        aj.post = function(targetUrl, sendString, resultHandle) {
                if(in_array(targetUrl, Ajaxs)) {
                        return false;
                } else {
                        arraypush(Ajaxs, targetUrl);
                }
                aj.targetUrl = targetUrl;
                aj.sendString = sendString;
                aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
                aj.resultHandle = resultHandle;
                aj.XMLHttpRequest.open('POST', targetUrl);
                aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                aj.XMLHttpRequest.send(aj.sendString);
        }
        return aj;
}

function ajaxmenu(e, ctrlid, timeout, func, cache) {
        if(jsmenu['active'][0] && jsmenu['active'][0].ctrlkey == ctrlid) {
                doane(e);
                return;
        } else if(is_ie && is_ie < 7 && document.readyState.toLowerCase() != 'complete') {
                return;
        }
        if(isUndefined(timeout)) timeout = 3000;
        if(isUndefined(func)) func = '';
        if(isUndefined(cache)) cache = 1;

        var div = $(ctrlid + '_menu');
        if(cache && div) {
                showMenu(ctrlid, true, 0, 0, timeout);
                if(func) setTimeout(func + '(' + ctrlid + ')', timeout);
                doane(e);
        } else {
                if(!div) {
                        div = document.createElement('div');
                        div.id = ctrlid + '_menu';
                        div.style.display = 'none';
                        div.className = 'popupmenu_popup';
                        div.title = 'menu';
                        document.body.appendChild(div);
                }
                var x = new Ajax();
                x.get($(ctrlid).href + '&inajax=1', function(s) {
                        if(s.substr(0, 25) == '<div id="attackevasive_1"') {
                                alert(String.fromCharCode(39057,32321,21047,26032,38480,21046) + '\n' + String.fromCharCode(24744,35775,38382,26412,31449,36895,24230,36807,24555,25110,32773,21047,26032,38388,38548,26102,38388,23567,20110,20004,31186,65281));
                                return;
                        }
                        div.innerHTML = '<div class="popupmenu_option">' + s + '</div>';
                        showMenu(ctrlid, true, 0, 0, timeout);
                        if(func) setTimeout(func + '(' + ctrlid + ')', timeout);
                        if(!cache) setTimeout('document.body.removeChild(' + div.id + ')', timeout);
                });
                doane(e);
        }
}

function updatesecqaa() {
        var x = new Ajax();
        x.get('ajax.php?action=updatesecqaa&inajax=1', function(s) {
                $('secquestion').innerHTML = s;
        });
}

function ignorepm(e) {
        var x = new Ajax();
        x.get('pm.php?action=noprompt&inajax=1', function(s) {
                $('pmprompt').style.display = 'none';
        });
        doane(e);
}

var presmtbl = 'smtbl_1';
function getSmilies(event) {
        if(!isUndefined(event)) {
                var obj = is_ie ? event.srcElement : event.target;
                var page = obj.href.replace(/.*\?page=(\d+)/ig, function($1, $2) {return $2;});
        } else {
                var page = getcookie('smpage');
        }
        setcookie('smpage', page, 86400 * 3);
        var currsmtbl = 'smtbl_' + page;
        if(!$(currsmtbl)) {
                var div = document.createElement('div');
                div.id = currsmtbl;
                $('smiliestable').appendChild(div);
                var x = new Ajax();
                x.get('post.php?action=smilies&inajax=1&page=' + page, function(s) {
                        if(s.substr(0, 25) == '<div id="attackevasive_1"') {
                                $('smiliestable').removeChild(div);
                                alert(String.fromCharCode(39057,32321,21047,26032,38480,21046) + '\n' + String.fromCharCode(24744,35775,38382,26412,31449,36895,24230,36807,24555,25110,32773,21047,26032,38388,38548,26102,38388,23567,20110,20004,31186,65281));
                                return;
                        }
                        if(presmtbl) $(presmtbl).style.display = 'none';
                        div.innerHTML = s;
                        presmtbl = currsmtbl;
                });
        } else {
                $(currsmtbl).style.display = '';
                if(presmtbl && presmtbl != currsmtbl) $(presmtbl).style.display = 'none';
                presmtbl = currsmtbl;
        }
}

[ 本帖最后由 iptton 于 2007-6-11 14:05 编辑 ]
回复

使用道具 举报

发表于 2007-6-15 19:33 | 显示全部楼层
一个又一个的车轮。
没见哪个车轮比较有个性。
回复

使用道具 举报

发表于 2007-6-15 19:39 | 显示全部楼层
对初学者,看看车轮的结构还是有用的……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-30 21:12

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表