上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页
摘要: 在公文升级方案中, 因为使用了新模板, 我需要在原来系统执行某几个函数之前, 做一些检查,如果成立则执行原有函数,否则执行我的新逻辑,然后再依情况决定是不是执行原函数。 我们知道,Javascript中函数有静态函数、成员函数和实例化对象的成员函数之分,这些函数的实现存在正常函数和匿名函数的区分。所以在我们Hook成员时,我们要对这些情况兼而顾之。 要实现这样的东西,我们需要知道修改某一处的函数引用,对于这样的全局函数,我们知道它的所属对象是 window。如果对于类的成员函数,则应该是类.prototype.funName,对于实例的成员,我们可以通过在实例上添加函数来重写方法。 首先我们这个函数是所有函数的方法,所以它必须在 Function.prototyp 上添加一个新的函数Hook, 它的逻辑应该是首先查找函数的名称,如果得到了,则直接改写在指定对象上的函数实现。但如果这个函数是匿名函数,我们需要查找这个对象的所有属性,看哪个属性和这个函数相等,如果有一个,则取出第一个相等的进行Hook。当然,如果Hook时明确指定了属性,则找到这个属性进行Hook。 阅读全文
posted @ 2009-12-15 15:37 阿牛 阅读(2067) 评论(0) 推荐(1)
摘要: 研究了一下,发现系统已经有这类的函数,晕吧!! 实现一个类似Func和Action的方法吧. 调用示例如下: object inst = new Program(); decimal ret = inst.Dynamic("HelloWorld", Guid.NewGuid(), 2009); 阅读全文
posted @ 2009-12-13 16:43 阿牛 阅读(826) 评论(0) 推荐(0)
摘要: 上周五快下班时,看到一个博友BillGan文章:DynamicMethod (JIT Compiler encountered an internal limitation. )我还是相信中国人 ,当时没有太多时间,只是实现了调用静态方法的访问,不能称为动态方法调用。今天看到,BillGan好像已经死心了。 不过,其实没有那么绝望的吧,我实现了一个原型,原理是使用Emit声明一个变量,然后强制类型转化成类型,最后再去调用方法: 阅读全文
posted @ 2009-12-13 15:30 阿牛 阅读(2929) 评论(3) 推荐(2)
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- 1 <script type="text/javascript"> 2 3 var wordApp = new ActiveXObject("word.application"); ... 阅读全文
posted @ 2009-12-01 13:38 阿牛 阅读(749) 评论(0) 推荐(0)
摘要: [代码]代码下载:http://files.cnblogs.com/evlon/word_test_20091127.zip 阅读全文
posted @ 2009-11-27 11:27 阿牛 阅读(601) 评论(0) 推荐(0)
摘要: 以前我写过“使用参数化和块语句来提高批处理SQL语句的执行效率”,但这明显不如程序员在调试SQL时方便。 原来的调试习惯是把拼好的SQL直接复制到 PLSQL Dev中执行,就能发现问题。 而现在面对这些没有值的块语句,许多人不知道如何去把参数绑定到PLSql中进行执行验证。但对有参数的PLSql进行验证,我们有更好的方法:新建一个“Test Window”进行调试。 阅读全文
posted @ 2009-11-05 13:25 阿牛 阅读(5658) 评论(1) 推荐(1)
摘要:   原来一直以为call和apply只是传递参数的形式不同:call使用参数列表,apply使用参数数组。但在跨窗口使用时,发现函数其中在 new 时,会传递上下文到函数中。于是函数实例也便有了上下文。   在我的这个测试中,也发现了 call 和 apply 的区别:call可以跨窗口调用传参调用函数,apply跨窗口调用有参数函数时出错。下面是测试,打开父窗口时,使用window.open打开一个子窗口,然后在子窗口中调用父窗口的函数以及对象: 阅读全文
posted @ 2009-10-29 12:45 阿牛 阅读(469) 评论(0) 推荐(0)
摘要: 在使用Dotnetfx2.0开发WinForm程序时,经常需要使用后台线程来进行运算,并把运算的过程数据,结果数据等信息更新显示到窗口中。由于窗体线程和工作线程不是一个线程,我们不能在工作线程中直接设置窗体中控件的属性,而需要使用Control.Invoke(Delegate del,...)来间接调用。其实,可以使用一个匿名函数很简单的调用。 阅读全文
posted @ 2009-10-24 23:30 阿牛 阅读(2778) 评论(11) 推荐(5)
摘要:   在表格中,不需要分页但需要滚动TBody的场合蛮多的,以前做过一个通过两个表格来实现:用JQuery实现Fix表头表格 ,今天突然想到,可以单独做一个滚动条,让滚动条的位置变化时,只显示TBody中指定范围的TR来实现滚动,便有了下面的实现,可以在IE/FF下运行,在滚动条上滚动鼠标轮时可以实现TBody滚动。这是一个思路,希望能抛砖引玉。 阅读全文
posted @ 2009-09-23 13:44 阿牛 阅读(15224) 评论(13) 推荐(0)
摘要: 由于项目中引入了JQuery,不方便再引用YUI。所以依照 Session variables without cookies 原理,直接用JQuery实现如下: 场景:主页面 (emo_windowname.html)一个IFrame(framePreview),在页面加载或者单击按钮时,让IFrame加载一个页面(http://...../正文.html). 条件:正文.html 预告加入脚本,或者使用HttpModule加入脚本: Code $(function(){ window.name = document.body.scrollHeight; }); 这样,在主页面中,就可以通过window.name把高度取过来,然后设置一下 framePreview的高度。 阅读全文
posted @ 2009-06-16 16:07 阿牛 阅读(4843) 评论(12) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页