十月 11, 2015 at 1:42 下午
—
Easton
在上一个版本中,我新增了importAssembly函数用于加载外部程序集,但是上一个版本遗留了一个问题,这种方式加载的外部程序集如果还引用了别的程序集会出现无法找到依赖项的错误,如下图所示:
为了解决这个问题,我抽空更新了下IDE工具,使其能正确加载importAssembly函数导入的外部程序集的依赖项,并新增了一个全局变量:__ide_version__用于获取当前IDE或Shell的版本号。
示例代码:
clear();
//获取IDE版本
console.log(__ide_version__);
//加载程序集文件
importAssembly(__script_...
[更多...]
878db99b-7359-446b-a8a6-995abf1425e5|10|4.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in:
Tags:
三月 11, 2015 at 11:04 下午
—
Easton
在上一篇博文《使用EJS进行GUI编程(一)》中我们初步了解了如何使用EJS进行GUI编程,本文将进一步讲解如何使用EJS进行GUI编程。
前一个例子运行之后只是弹出一个窗口,里面有文本框和按钮,并且单击按钮可以触发单击事件。拥有了这些知识后其实你已经有能力制作一个登录窗口了,当然,得出这个结论的前提我是假设读者已经具备一定的前台编程功底,并且会使用AJAX之类的方式进行编程。
1、在进行GUI编程前,我们首先需要了解什么叫控件?
在计算机编程当中,控件(或部件,widget或control)是一种图形用户界面元素,其显示的信息排列可由用户改变,例...
[更多...]
b3f7ba1c-f8d8-4220-8b1f-a40cb161088b|8|3.8|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags:
三月 8, 2015 at 10:34 下午
—
Easton
众所周知,原生JavaScript是不支持GUI编程的,在对原生JavaScript标准进行拓展后,我让EJS拥有了GUI编程的能力。
下面就让我们来学习下EJS是如何进行GUI编程的吧。
首先,我们谈谈EJS是如何支持GUI编程的。EJS是基于.NET平台的脚本语言,因此它天生就拥有强大的运行库支持,通过.NET平台提供的GUI接口,我们可以方便的让EJS具有与C#或F#一样的强大功能。
为了解决这个问题,我也花了一点时间解决各种兼容性问题,尤其是脚本解释运行方面的问题。因为原生JavaScript是没有事件这个概念的(注意区分浏览器支持的JS和原生的JS标准,浏览器支持的JS是支持D...
[更多...]
ff6b9846-1eda-43d3-89c4-1971bf7f2b3a|15|4.1|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags:
三月 7, 2015 at 10:35 下午
—
Easton
2024/10/04 为了避免误导大家,该方法应该不可用了。该文章仅作存档。
注意:
目前64.233.X.X IP段可用服务器已经不多了,大家可以尝试173.194.79.1开始,搜索200个左右的IP。
BUG修复:
var IP =
{
toInt: function(ip)
{
var ipTest =/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0...
[更多...]
7a5a27bf-7adb-4fda-975c-5e8bf552aa13|6669|4.8|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags: Google
二月 28, 2015 at 11:40 上午
—
Easton
EJS脚本运行环境下载:下载地址
由于http对象底层Socket的连接功能未提供超时机制,所以即使为http对象设置了Timeout属性在某些情况下也会等待20秒左右才能连接超时。
为了解决这个问题,我们采用Socket提供的异步连接方法测试服务器是否开通80端口。
第一步:新建一个名为“Socket.ejs”的脚本文件(下一个版本将集成到lib运行库目录内),键入下面代码:
/*
指定 Socket 类的实例可以使用的寻址方案。
AppleTalk AppleTalk 地址。
Atm 本机 ATM 服务地址。
Banyan Banyan 地址...
[更多...]
afa8ac53-952f-4623-a2b7-3dcaf4f81f3d|282|5.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags: Google搜索, Google服务
二月 27, 2015 at 11:17 下午
—
Easton
搜索可用的Google搜索服务器IP,并将搜索结果缓存入系统Hosts文件内。
提示:此脚本在R5以上版本的EJS脚本IDE工具内可成功解释运行。
clear();
console.info("/**************************版权声明**************************/");
console.info("/* */");
console.info("/*功能描述:查找可用的Google服务器,并将其缓存入系统DNS。 */");...
[更多...]
33eb2d6d-9042-4ac7-acf8-f833863aa2b2|891|4.4|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags:
二月 26, 2015 at 11:33 下午
—
Easton
EJS最擅长的工作就是调用webapi,由于JSON数据格式本身就是JS原生支持的,因此在处理webapi方面,EJS脚本可以直接解析webapi返回的JSON数据,并作为对象直接使用。
声明:下列接口源于互联网,仅作参考,请勿用于商业目的,如有侵权,请联系删除。
clear();
var htmlText = http.get("http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15811111111", "gbk");
eval(htmlText);
console.log(__GetZoneResu...
[更多...]
c9878c8b-3d63-4c17-a4d5-82db3987904d|6|3.3|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags:
二月 26, 2015 at 8:46 下午
—
Easton
在《使用EJS脚本实现花生壳动态域名更新服务(一)》中,我们粗暴的把代码放在一起,然后执行。利用EJS支持的“#include”预编译指令我们可以以更加优美的方式组织代码。
步骤如下:
把BASE64编码部分的代码复制到一个新建的脚本。
/**
* UTF16和UTF8转换对照表
* U+00000000 – U+0000007F 0xxxxxxx
* U+00000080 – U+000007FF 110xxxxx 10xxxxxx
* U+00000800 – U+0000FFFF 1110xxxx 10...
[更多...]
25e632b6-5c64-4b49-ade8-d6b730b1fce8|6|3.3|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags:
二月 26, 2015 at 8:31 下午
—
Easton
花生壳提供了动态域名服务,动态域名可实现几乎实时生效的DNS解析服务,并且花生壳还提供了webapi更新域名解析的服务。
通过EJS我们可以轻松调用花生壳提供的webapi服务实现动态域名更新功能。
注意:这个webapi是采用Http Basic Authentication(HTTP基本认证)的,因此账号和密码必须用BASE64(account:password)编码后放在请求头。具体实现请参考下面代码,Base64编码部分代码copy自互联网,版权由原作者所有。
代码如下:
clear()
/**
* UTF16和UTF8转换对照表
* U+00000000 –...
[更多...]
dd001cfc-8ba6-42b6-b599-d5d1176bf99d|5|3.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags:
二月 26, 2015 at 7:53 下午
—
Easton
由于EJS脚本解释器是完美支持 ECMA-262 标准的,因此EJS脚本是JavaScript的真超集。
说了一段废话后,我其实是想说我在网上copy了一段JS支持的将字符串转换成Base64编码的代码,不知出处,这里斗胆将代码贴出,如有侵权请联系删除。
var Base64 = {
// 转码表
table : [
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O' ,'P',
'...
[更多...]
43f44ecc-f587-4c33-9581-5f7ff11b273f|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Posted in: EJSTool
Tags: