`
muyu
  • 浏览: 218252 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
用uchome做的sns社区,用户每天可以获取一些积分,比如登录、留言、评论等操作。如果没有验证码,我们可以用程序来实现。火狐扩展可以对浏览器窗口进行操作、同时可以在网页跳转过程中保留状态,这为我们开发一个“模拟点击”的程序提供了可能性!   下面是一些代码片段,具体扩展,附在文章后面。   模拟留言 doComment: function() { var done = false; var commentMessage = this.getDoc().getElementById('comment_message'); var commentsubmitBtn ...
var jsonStr = $('#jsonData').val(); var json = eval('('+jsonStr+')');  上面两行代码出自《用js模拟PHP的print_r功能 》,用来把接收到的json串转换为js中的对象。既然json串已经是一个完美的对象直接量了,为什么非要在两端加上括号,为什么不能做如下简写呢? var json = eval(jsonStr);  看了周爱民老师的《JAVASCRIPT语言精髓与编程实践 》P264的 5.2.2“动态执行过程中的语句、表达式与值”,才明白。   ----------- 原因 ------ ...
最近参与一个PHP与flash交互的项目,数据格式采用json。一些返回信息中包含中文,中文字符值大于 255 的以 %uxxxx 格式存储,不利于调试代码。同事提供了一个网址,可以把json数据通过Ajax在服务器端解析,并返回经过语法着色的关联数组,非常清晰。   我抱着学习的目的,用js模拟了该功能。主要是递归处理对象:   $(document).ready(function(){ $('#btn').click(function(){ var jsonStr = $('#jsonData').val(); var json = eval( ...
我在看《JavaScript语言精粹》的时候,有些零碎的知识点是平时没有注意到的,记录如下: ----------- Array ----------- array.join 如果你想把大量的片段组装成一个字符串,把这些片段放到一个数组中,并用join方法连接它们,通常比用“+”运算符连接这些片段要快些。 在prototype.js就有该用法。   array.shift shift方法通常比pop慢得多   判断一个值是否为数组 if (my_value && typeof my_value === 'object' &&     my ...

DOCTYPE的作用

    博客分类:
  • html
网页最上面的DOCTYPE声明   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   --------- 作用 --------- 它指明了DTD,用来处理实体引用。 没有它,能使用的实体引用就只有&amp; &lt; &gt; &apos; &quot; 有了它,就能够使用HTML实体引 ...

fwrite 与文件编码

    博客分类:
  • php
fwrite函数可以把字符串写入文件,文件最终的编码取决于要写入的字符串编码。如果字符串是utf-8,那么最终的文件就是utf-8编码;如果字符串是gb2312,那么最终的文件就是gb2312.   下面的示例代码,演示了重复打开、转换编码、保存同一个文件的过程,每执行一次操作,用记事本打开文件(a.txt),查看它的编码是否在utf-8和gb2312之间变换。   /** * 判断字符串是否为utf-8格式 * * @param string $string * @return 0或1 */ function is_utf8($string) { ret ...
先看代码: //php code ... //然后执行一个服务器端操作 pclose(popen("/usr/local/php/bin/php /htdocs/www/site/task.php &", "r"));   --------------- 适用场合 ---------------   在执行完PHP代码之后,需要在服务器端执行一个操作,比如,用户点击了“发送”按钮,系统在成功显示发送成功页面之后,通过上面的代码,就可以激活服务器上的某个PHP文件。由于该脚本在后台运行,不会影响页面执行时间。   它有个好处 ...

PHP操作Imagick库

    博客分类:
  • php
在一张图片上,打印8*10的数字矩阵,实现如下: //格子的尺寸 $grid_font_size = 18; //字体大小 $grid_font_color = "#000"; //字体颜色 $grid_width = 36; //格子的宽度 $grid_height = 24; //格子的高度 $grid_origin_x = 15; //左上角的数字的起始横坐标 $grid_origin_y = 98; //左上角的数字 ...

语法分析函数

    博客分类:
  • php
如何完整地从一个文本中获取一个function函数块?   通过堆栈,辨别“{”、“}”出现的顺序、次数: 碰到“{”,push一下;碰到“}”,pop一次。 每次碰到“}”,都要判断一下堆栈是否已经为空了,如果为空,表示获取了完整的代码块。 注意考虑出现在单行注释、多行注释中的“{”、“}”。   函数实现如下:   /** * 返回函数体字符串 * * @param string $blockStart * @param string $codeStr * @return string / false */ function getCodeBl ...
备份数据库的shell脚本,以日期+时间的格式保存: #!/bin/sh file='officeks'`date '+%y%m%d%H%M%S'`'.sql.gz' /usr/local/webserver/mysql/bin/mysqldump -uofficeks -pkl45kj89ksd officeks --skip-lock-tables | gzip > /data1/backup/mysite/$file   在crontab里加计划任务: 00 00 * * * /bin/bash /data1/backup/mysite/backdb.sh
受吴浩 提醒,我写了个俄罗斯方块的小游戏。之前,我的思路有问题,在网页里,如何捕捉块与块之间的碰撞 是个难题,甚至觉得块变形都是个大问题。后来,吴浩提醒我,可以考虑用数组模拟,所以,问题就解决了。   目前存在的bug: 动态生成表格的方法不兼容ie; 请恩蕾 调整的界面,他用了些单单firefox支持的CSS; 在运行前,请确保prototype.js 的链接仍然正确。   代码请参看附件。
原文地址:http://www.javascriptkit.com/javatutors/closures.shtml 以下文字,与原文不同,有改编。   先看常用的函数: function sayHello(name) { var text = 'Hello ' + name; var sayAlert = function() { alert(text); } sayAlert(); } sayHello('Bob');   闭包的例子   一句话描述: 闭包是函数的局部变量,在函数return之后,仍然有值, 或者 闭包是stack-frame, ...
--------------- 木鱼说 --------------- 我只把有关例子的句子或改编了下:)   --------------- 正文 --------------- Tip 1: Cache your objects! for (i=0;i<document.images.length;i++) document.images[i].src="blank.gif"  对象“document.images”被多次访问。由于浏览器必须在每次循环寻找“document.images”两次,实现的代码性能不高。如果页面上有10个图片,I ...
PHP的函数里,不能直接访问函数外面的变量,除非显式地声明该变量为global。JavaScript可以直接访问: var str = 'tom'; (function(){ str = 'jack'; })(); alert(str); //打印出jack   但是,如果在函数里重新声明变量str,结果就不同了: var str = 'tom'; (function(){ var str = 'jack'; })(); alert(str); //打印出tom    如果在函数里定义一个变量,它在外面能被访问吗? (function(){ ...
最常见的: function foo() { alert('hi, js'); } foo();   用匿名函数: var foo = function () { alert('hi, js'); } foo();   改装一下,给调用的foo()加个括号: var foo = function () { alert('hi, js'); } (foo)();   干脆,连foo的定义也省掉------把foo赋值语句的等号右边的东东、直接替换掉刚才括起来的foo: (function () { alert('hi, js'); })();   ...
Global site tag (gtag.js) - Google Analytics