置顶随笔

[置顶]执子之手--与子偕老

 

谁,吻我之眸,遮我半世流离;

谁,抚我之面,慰我半世哀伤;

谁,携我之心,融我半世冰霜;

谁,扶我之肩,驱我一世沉寂。

谁,唤我之心,掩我一生凌轹。

谁,弃我而去,留我一世独殇;

谁,可明我意,使我此生无憾;

谁,可助我臂,纵横万载无双;

谁,可倾我心,寸土恰似虚弥; 

谁,可葬吾怆,笑天地虚妄,吾心狂。

伊,覆我之唇,祛我前世流离; 

伊,揽我之怀,除我前世轻浮。

  

执子之手,陪你痴狂千生;

深吻子眸,伴你万世轮回。

执子之手,共你一世风霜;

吻子之眸,赠你一世深情。

我, 牵尔玉手, 收你此生所有;

我, 抚尔秀颈, 挡你此生风雨。 

予,挽子青丝,挽子一世情思;

予,执子之手,共赴一世情长;

曾,以父之名,免你一生哀愁;

曾,怜子之情,祝你一生平安!

 

posted @ 2011-08-25 17:38 青蛙學堂 阅读(330) | 评论 (1)编辑 收藏

2020年11月17日

jshtml固定表头


<html xmlns="http://www.w3.org/1999/xhtml">
 
    <head>
        <meta charset="utf-8" />
        <title>表格头部固定</title>
        <style type="text/css">
            /*
            .table-head table,.table-body table{width:100%;border-collapse:collapse;}
            .table-head{padding-right:17px;background-color:#999;color:#000;}
            .table-body{width:100%; height:300px;overflow-y:auto;}
            .table-body table tr:nth-child(2n+1){background-color:#f2f2f2;}
            
            .table-body table tr td{
                border:1px solid red;
                text-align: center;
            }
            
*/
            
               .table-head table,.table-body table{width:1190px;border-collapse:collapse; }
           
            .table-body{width:1200px; height:300px;overflow-y:auto;}
            
            .table-body table tr td{
               
                text-align: center;
            }
            
        </style>
    </head>

    <body>
        <div style="width:100%;">
            <div class="table-head">
                <table>
                    <colgroup><col span="2" style="width: 100px;" /><col /></colgroup>
                    <thead>
                        <tr>
                            <th>序号</th>
                            <th>内容</th>
                        </tr>
                    </thead>
                </table>
            </div>
            <div class="table-body">
                <table>
                    <colgroup><col span="2" style="width: 100px;" /><col /></colgroup>
                    <tbody>
                        <tr><td>1</td><td>我只是用来测试的</td></tr>
                        <tr><td>2</td><td>我只是用来测试的</td></tr>
                        <tr><td>3</td><td>我只是用来测试的</td></tr>
                        <tr><td>4</td><td>我只是用来测试的</td></tr>
                        <tr><td>5</td><td>我只是用来测试的</td></tr>
                        <tr><td>6</td><td>我只是用来测试的</td></tr>
                        <tr><td>7</td><td>我只是用来测试的</td></tr>
                        <tr><td>8</td><td>我只是用来测试的</td></tr>
                        <tr><td>9</td><td>我只是用来测试的</td></tr>
                        <tr><td>10</td><td>我只是用来测试的</td></tr>
                        <tr><td>11</td><td>我只是用来测试的</td></tr>
                        <tr><td>12</td><td>我只是用来测试的</td></tr>
                        <tr><td>13</td><td>我只是用来测试的</td></tr>
                        <tr><td>14</td><td>我只是用来测试的</td></tr>
                        <tr><td>15</td><td>我只是用来测试的</td></tr>
                    </tbody>
                </table>
            </div>
        </div>
    </body>
</html>

posted @ 2020-11-17 16:49 青蛙學堂 阅读(3) | 评论 (0)编辑 收藏

页面加载完成后执行js

页面加载完成后执行js:
jQuery方法2,该方法一般使用较多

    <script type="text/javascript">
        $(function () {
            alter("123qew");
        })
    </script>

posted @ 2020-11-17 11:25 青蛙學堂 阅读(168) | 评论 (0)编辑 收藏

2020年11月13日

sqlserver查阻塞

查询当前正在执行的语句

复制代码
SELECT 
der.[session_id],der.[blocking_session_id], 
sp.lastwaittype,sp.hostname,sp.program_name,sp.loginame, 
der.[start_time] AS '开始时间', 
der.[status] AS '状态', 
dest.[text] AS 'sql语句', 
DB_NAME(der.[database_id]) AS '数据库名', 
der.[wait_type] AS '等待资源类型', 
der.[wait_time] AS '等待时间', 
der.[wait_resource] AS '等待的资源', 
der.[logical_reads] AS '逻辑读次数' 
FROM sys.[dm_exec_requests] AS der 
INNER JOIN master.dbo.sysprocesses AS sp ON der.session_id=sp.spid 
CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest 
--WHERE [session_id]>50 AND session_id<>@@SPID 
ORDER BY der.[session_id] 
GO
复制代码
 


是否堵塞

SELECT spid,blocked,waittime,waittype,waitresource,p.dbid,cpu,physical_io,memusage,open_tran 
,status,login_time,last_batch,hostname,program_name,hostprocess,loginame,cmd,text 
FROM master.dbo.sysprocesses p CROSS APPLY sys.dm_exec_sql_text(p.sql_handle) s 
WHERE blocked > 0 OR spid IN(SELECT blocked FROM master.dbo.sysprocesses WHERE blocked > 0) 
go
 检查锁表

select   request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName
from   sys.dm_tran_locks t where resource_type='OBJECT' order by spid asc;
查询导致死锁的sql语句

dbcc inputbuffer(spid);
解锁

declare @spid  int 
Set @spid  = 123--锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid  as varchar)
exec(@sql)
杀掉进程

kill spid

posted @ 2020-11-13 11:14 青蛙學堂 阅读(3) | 评论 (0)编辑 收藏

2020年10月31日

sql2008删除log

USE[master]
    GO
    ALTER DATABASE mydbname SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE mydbname SET RECOVERY SIMPLE   --简单模式
    GO
    USE mydbname 
    GO
    DBCC SHRINKFILE (N'mydbname_Log' , 11, TRUNCATEONLY)
    GO
    USE[master]
    GO

    ALTER DATABASE mydbname SET RECOVERY FULL WITH NO_WAIT

    GO

    ALTER DATABASE mydbname SET RECOVERY FULL  --还原为完全模式

    GO

posted @ 2020-10-31 20:14 青蛙學堂 阅读(641) | 评论 (0)编辑 收藏

2020年10月22日

session过期设置

保持Session的方法:有人说设session.timeout=-1,或小于0的数。这种方法肯定是不行的,session计算时间以分钟为单位,必须是大于等于1的整数。又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你最大可以session.timeout=1440,1441都是不可以有,呵呵。本人测试环境:win2003+IIS6.0+ASP3.0。 

所以想通过设session.timeout的过期时间让session永不过期是不可能的。写到Cookies里是比较好的方法,网上也有很多这样的教程,这里就不再说了!还有就是用在要保持session的页里设隐藏iframe每隔一段时间(这个时间小于session.timeout的时间)把刷新一次frame里的空页面!实现方法如下: 

在要保持session页里加上: <iframe width=0 height=0 src="/blog/SessionKeeper.asp"> 
</iframe> 


同目录下建一下SessionKeeper.asp的文件。 <html> 
<head> 
<meta http-equiv="Refresh" content="900000;url=sessionKeeper.asp"> 
<!--每隔900秒刷新一下自己,为了和服务器通讯一下,保持session不会丢--> 
</head> 
</html> 


这种方法还是比较长见的,另外还有一种和上面类似的方法,不过他不是用meta自动刷新嵌套的iframe的方法。他是用javascript:window.setTimeout("functionname()",10000);第隔一段时间时间自动调用一个函数的方法,当然函数里还是要去连接一个空的文件。具体方法如下: 

在要保持session面里加上: <script id=Back language=javascript></script> 

<script language=javascript> 
function keepsession(){ 
document.all["Back"].src="/blog/SessionKeeper.asp?RandStr="+Math.random(); 
//这里的RandStr=Math.random只是为了让每次back.src的值不同,防止同一地址刷新无效的情况 
window.setTimeout("keepsession()",900000); //每隔900秒调用一下本身 

keepsession(); 
</script> 

这样同一目录下建一个空内容的sessionKeeper.asp就文件就可以了! 

posted @ 2020-10-22 17:00 青蛙學堂 阅读(12) | 评论 (0)编辑 收藏

2020年10月20日

Bootstrap table 页脚合计数量

1.表格很好,有的时候需求和,然后bootstrap-table 默认是关闭 footer的,所以表格不显示footer也就是最后一行
2.我们需要在表格初始化的时候打开footer选项 showFooter:true

var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                showFooter:true,
                extend: {
                    index_url: 'cneed/index',
                    add_url: 'cneed/add',
                    edit_url: 'cneed/edit',
                    del_url: 'cneed/del',
                    multi_url: 'cneed/multi',
                    table: 'lvdate',
                }
            });
3.在colums里面 将需要显示footer的列,加上footFormatter

columns: [
                    [ {title: '客户需求表',colspan: 14}],//这是第一行大标题
                    [
                        {checkbox: true,footerFormatter:function(data){
                                return '总计';//在第一列开头写上总计、统计之类
                            }
                        },
其中 footerFormatter:后面的 function 需要返回string 这是官方手册上说的
4.我们可以在需要的列进行计算,我这里纯是实验 所及计算了一下PID

{field: 'PID', title: __('Pid'),sortable: true,footerFormatter: function (data) {
                                var field = this.field;
                                var total_sum = data.reduce(function (sum, row) {
                                    return (sum) + (parseFloat(row[field]) || 0);
                                }, 0);
                                return total_sum.toFixed(2);
                            }

posted @ 2020-10-20 11:05 青蛙學堂 阅读(45) | 评论 (0)编辑 收藏

2020年10月6日

js函数提交前验证

这里面的return含有一些细节知识:

例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别

JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。

而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。

而直接执行时(不用return)。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作

详细说明如下:
例如:
当在 <a href="abc.htm" onclick="return add_onclick()">Open</a> 中
如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm
否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外

)
而 <a href="abc.htm" onclick="add_onclick()">Open</a>
不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm

另外补充:
onclick事件时就相当于onclick="return true/false"
例:
function check()
{
if(obj.value=="" )
   {
     window.alert("不能为空!");
     obj.focus();
     return false;
   }
     return true;
}

调用方法返回true时才提交表单,反之则不提交,这是submit按钮
------------------------------------------------------------------------------------------

调用js函数不需要return,但是表单却无法提交,所以在js函数中加上一句话
例:
<script language="javascript">
function check()
{
if(obj.value=="" )
   {
     window.alert("不能为空!");
     obj.focus();
     return false;
   }
     document.myform.submit();
     return true;
}
</script>
注:document.myform.submit();要在return true前

 

 

关于javascript中的 return false和return true
return 是javascript里函数返回值的关键字,
一个函数内处理的结果可以使用return 返回,
这样在调用函数的地方就可以用变量接收返回
结果。return 关键字内任何类型的变量数据或表达式
都可以进行返回,甚至什么都不返回也可以比如
function NullReturn(IsNull)
{
if(IsNull==true)
{
return;
}
}
这样写也是可以的,这里的意思是返回空(null)
所以有的时候return 的作用就是用来终止函数执行。
比如
<html>
<head>
<title>return验证测试</title>
<script language="javascript">
function Login_Click()
{
if(document.form1.UsName.value=="")
{
alert('用户名为空');
}
if(document.form1.UsPwd.value=="")
{
alert('密码为空');
}
alert('登陆成功');
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="UsName" >用户名
<input type="password" name="UsPwd">密码
<input type="button" name="Login" onClick="Login_Click();" >登陆
</form>
</body>
</html>
不加return 的情况
加return
<html>
<head>
<title>return验证测试</title>
<script language="javascript">
function Login_Click()
{
if(document.form1.UsName.value=="")
{
alert('用户名为空');
return;
}
if(document.form1.UsPwd.value=="")
{
alert('密码为空');
return;
}
alert('登陆成功');
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="UsName" >用户名
<input type="password" name="UsPwd">密码
<input type="button" name="Login" onClick="Login_Click();" >登陆
</form>
</body>
</html>

运行就会发现加return 和不加return 的区别,
最简单的测试办法,上面的两个例子什么都不输入直接登陆,楼就明白了。

不加return的现象是先提示用户名没输入,然后提示密码没输入;加了return之后遇到一个没输入之后就不再继续检测

return false表示返回一个false值,也就是说提交是不成功的,就是不会提交上去。
return true表法返回一个true值,也就是提交了,不管你输入没有输入值,都会提交到action指定页面。

posted @ 2020-10-06 11:01 青蛙學堂 阅读(8) | 评论 (0)编辑 收藏

2020年8月19日

nodejs连sqlite3数据库


实例1:
//数据库的名字是"mydatebase.db"
var sqlite3 = require('sqlite3').verbose();
var database;
var database = new sqlite3.Database('mydatebase.db');

//database = new sqlite3.Database("mydatebase.db", function(e){
//
 if (err) throw err;
//
});
//
也可以使用内存型,数据不会永久保存
//
database = new sqlite3.Database(":memory:", function(e){
//
 if (err) throw err;
//
});
 console.log("111111111122222");
 /*
database.run("CREATE TABLE foo7 (id INT,name CHAR(50))", function(e){
 if(e !== null){
 throw e;
}
 //循环生成sql语句,批次插入多条数据
 var sql = "";
 var temp = "";
 for(var i = 0 ; i < 500; i ++){
     temp = "name"+i;
 //sql += 'INSERT INTO foo6(id,name) VALUES(' + i + ' ,'  +temp + ');'
 sql += 'INSERT INTO foo7(id,name) VALUES(' + i + ' ,"boy345");'
}
 database.exec(sql);
 

});
*/
/*
database.run("drop TABLE foo4  ", function(e){
 if(e !== null){
 throw e;
}
  
});

*/
  console.log("222222222222");
//Database#each(' select *  from foo ', [param, ], [callback], [complete]);
//
database.all("select *  from foo  where id=?", idvalue, function (err, row) {});
database.all("select *  from foo7  where id < 10 ",  function (err, rows) {
    console.log(rows);
      
});

database.each(" select *  from foo2 where id < 50  ", function(err, row) {
    //console.log(row.id + ": " + row.name);
  });



 console.log("333333333333333322222");
 
 
 实例2:
//数据库的名是"mydatebase.db"
//
var sqlite3 = require("sqlcipher");
var sqlite3 = require("sqlite3");
//创建数据库
var database = new sqlite3.Database("mydatebase.db", function(err){
 if (err){
 console.log("new database error,",err.message);
    }else{
 console.log("new database success");

 //创建表
 database.run("create table if not exists sharewaf_data(time NUMERIC, domain TEXT, ip TEXT, lon_lat TEXT, address TEXT, url TEXT, type TEXT, agent TEXT)",function(err){
 if(err){
 console.log("create database error,",err.message);
            }else{
 console.log("create database success");

 //插入数据
 database.run("insert into sharewaf_data(time, domain, ip, lon_lat, address, url, type, agent) VALUES(?,?,?,?,?,?,?,?)",["time22", "domain22", "ip22", "lon_lat22", "taiyuan22", "url22", "type", "agent"],function(err){
 if(err){
 console.log("insert data error,",err.message);
                    }else{
 console.log("insert data success");

 //查询
 database.all("select * from sharewaf_data", function(err, rows) {
 if(err){
 console.log("select from sharewaf_data error,",err.message);
                            }else{
 console.log(rows);
                            }
                        });
                    }

                });
            }
        });
    }
});

 
 
 


posted @ 2020-08-19 18:50 青蛙學堂 阅读(125) | 评论 (0)编辑 收藏

nodejs-sqlite3

nodejs与sqlite
//打开数据库
var db = new sqlite3.Database('xx.db');

// 关闭数据库
db.close();

db.run('xx');  // 数据库对象的run函数可以执行任何的SQL语句,该函数一般不用来执行查询
               // create alter 之类的


增:
var stmt = db.prepare("INSERT OR REPLACE INTO note (cdate, content) VALUES (?,?)");
stmt.run(data.cdate, data.content);
stmt.finalize();

删:
db.prepare("DELETE  from note where cdate =?");  
stmt.run(data.cdate);  
stmt.finalize();

改:
var stmt = db.prepare("UPDATE note set content=? where cdate =?");  
stmt.run(data.content, data.cdate);  
stmt.finalize();  

查:
db.each("SELECT rowid AS id, thing FROM Stuff", function(err, row) {
    console.log(row.id + ": " + row.thing);
  });
});
// or
db.all("SELECT xxx", function (err, res){});

 // 使用

先把库下载到node_modules  npm install sqlite3 --save


 1.引入sqlite3库
var sqlite3 = require('sqlite3');
// or  var sqlite3 = require("sqlite3").verbose();

var db = new sqlite3.Database(file);
db.serialize(function() {
     //Do stuff
     db.run("CREATE TABLE Stuff (thing TEXT)");

     var stmt = db.prepare("INSERT INTO Stuff VALUES (?)");
     for(var i = 0;i<xx;i++){
         stmt.run('xx');
     }     
     stmt.finalize();

});
db.close();

 

posted @ 2020-08-19 11:17 青蛙學堂 阅读(41) | 评论 (0)编辑 收藏

2020年8月13日

WEB页面导出为EXCEL文档的方法js-ie


<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">  
  
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>  
    <title>WEB页面导出为EXCEL文档的方法</title>  
</head>  
<body>  
<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">  
    <tr>  
        <td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td>  
    </tr>  
    <tr>  
        <td>列标题1</td>  
        <td>列标题2</td>  
        <td>列标题3</td>  
        <td>列标题4</td>  
        <td>列标题5</td>  
    </tr>  
    <tr>  
        <td>aaa</td>  
        <td>bbb</td>  
        <td>ccc</td>  
        <td>ddd</td>  
        <td>eee</td>  
    </tr>  
    <tr>  
        <td>AAA</td>  
        <td>BBB</td>  
        <td>CCC</td>  
        <td>DDD</td>  
        <td>EEE</td>  
    </tr>  
    <tr>  
        <td>FFF</td>  
        <td>GGG</td>  
        <td>HHH</td>  
        <td>III</td>  
        <td>JJJ</td>  
    </tr>  
</table>  
<input type="button" onclick="javascript: method1('tableExcel');" value="第一种方法导入到EXCEL">  
<input type="button" onclick="javascript: method2('tableExcel');" value="第二种方法导入到EXCEL">  
<input type="button" onclick="javascript: getXlsFromTbl('tableExcel', null);" value="第三种方法导入到EXCEL">  
  
<SCRIPT LANGUAGE="javascript">
    function method1(tableid) {//整个表格拷贝到EXCEL中   
        var curTbl = document.getElementById(tableid);
        var oXL = new ActiveXObject("Excel.Application");
        //创建AX对象excel   
        var oWB = oXL.Workbooks.Add();
        //获取workbook对象   
        var oSheet = oWB.ActiveSheet;
        //激活当前sheet   
        var sel = document.body.createTextRange();
        sel.moveToElementText(curTbl);
        //把表格中的内容移到TextRange中   
        sel.select();
        //全选TextRange中内容   
        sel.execCommand("Copy");
        //复制TextRange中内容    
        oSheet.Paste();
        //粘贴到活动的EXCEL中         
        oXL.Visible = true;
        //设置excel可见属性   
    }

    function method2(tableid) //读取表格中每个单元到EXCEL中   
    {
        var curTbl = document.getElementById(tableid);
        var oXL = new ActiveXObject("Excel.Application");
        //创建AX对象excel   
        var oWB = oXL.Workbooks.Add();
        //获取workbook对象   
        var oSheet = oWB.ActiveSheet;
        //激活当前sheet   
        var Lenr = curTbl.rows.length;
        //取得表格行数   
        for (i = 0; i < Lenr; i++) {
            var Lenc = curTbl.rows(i).cells.length;
            //取得每行的列数   
            for (j = 0; j < Lenc; j++) {
                oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;
                //赋值   
            }
        }
        oXL.Visible = true;
        //设置excel可见属性   
    }

    function getXlsFromTbl(inTblId, inWindow) {
        try {
            var allStr = "";
            var curStr = "";
            //alert("getXlsFromTbl");   
            if (inTblId != null && inTblId != "" && inTblId != "null") {
                curStr = getTblData(inTblId, inWindow);
            }

            if (curStr != null) {
                allStr += curStr;
            }
            else {
                alert("你要导出的表不存在!");
                return;
            }

            var fileName = getExcelFileName();
            doFileExport(fileName, allStr);
        }
        catch (e) {
            alert("导出发生异常:" + e.name + "->" + e.description + "!");
        }
    }

    function getTblData(inTbl, inWindow) {
        var rows = 0;
        //alert("getTblData is " + inWindow);   
        var tblDocument = document;
        if (!!inWindow && inWindow != "") {
            if (!document.all(inWindow)) {
                return null;
            }
            else {
                tblDocument = eval(inWindow).document;
            }
        }

        var curTbl = tblDocument.getElementById(inTbl);
        var outStr = "";
        if (curTbl != null) {
            for (var j = 0; j < curTbl.rows.length; j++) {
                //alert("j is " + j);   
                for (var i = 0; i < curTbl.rows[j].cells.length; i++) {
                    //alert("i is " + i);   
                    if (i == 0 && rows > 0) {
                        outStr += " \t";
                        rows -= 1;
                    }
                    outStr += curTbl.rows[j].cells[i].innerText + "\t";
                    if (curTbl.rows[j].cells[i].colSpan > 1) {
                        for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
                            outStr += " \t";
                        }
                    }
                    if (i == 0) {
                        if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
                            rows = curTbl.rows[j].cells[i].rowSpan - 1;
                        }
                    }
                }
                outStr += "\r\n";
            }
        }
        else {
            outStr = null;
            alert(inTbl + "不存在!");
        }
        return outStr;
    }

    function getExcelFileName() {
        var d = new Date();
        var curYear = d.getYear();
        var curMonth = "" + (d.getMonth() + 1);
        var curDate = "" + d.getDate();
        var curHour = "" + d.getHours();
        var curMinute = "" + d.getMinutes();
        var curSecond = "" + d.getSeconds();

        if (curMonth.length == 1) {
            curMonth = "0" + curMonth;
        }
        if (curDate.length == 1) {
            curDate = "0" + curDate;
        }
        if (curHour.length == 1) {
            curHour = "0" + curHour;
        }
        if (curMinute.length == 1) {
            curMinute = "0" + curMinute;
        }
        if (curSecond.length == 1) {
            curSecond = "0" + curSecond;
        }

        var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" + curHour + curMinute + curSecond + ".csv";
        //alert(fileName);   
        return fileName;
    }

    function doFileExport(inName, inStr) {
        var xlsWin = null;
        if (!!document.all("glbHideFrm")) {
            xlsWin = glbHideFrm;
        }
        else {
            var width = 6;
            var height = 4;
            var openPara = "left=" + (window.screen.width / 2 - width / 2)
                    + ",top=" + (window.screen.height / 2 - height / 2)
                    + ",scrollbars=no,width=" + width + ",height=" + height;
            xlsWin = window.open("", "_blank", openPara);
        }

        xlsWin.document.write(inStr);
        xlsWin.document.close();
        xlsWin.document.execCommand('Saveas', true, inName);
        xlsWin.close();
    }

</SCRIPT>  
</body>  
</html> 

posted @ 2020-08-13 15:59 青蛙學堂 阅读(23) | 评论 (0)编辑 收藏

仅列出标题  下一页
<2006年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

常用链接

留言簿(7)

随笔分类

随笔档案

收藏夹

青蛙学堂

最新评论

阅读排行榜

评论排行榜

60天内阅读排行