真正明白什么是嵌入式是在一年多年前,那时开始到现在感觉一直是技术崇拜,唯有技术才是生存之道,之所以有这样的想法是因为,我一开始就想做技术,于是就疯狂的去了解自己感兴趣的,也是有带点功利性的思想吧,最后把自己定格在嵌入式。自学有个不好的地方就是学得乱,没有系统的学习基础,把嵌入式之根本给抛弃了,而去追求表面浮华的东西,比如外围模块,LCD,LED,AD,CAN,触摸屏,等等,而嵌入式的精华却很少去了解,比如计算机组成,操作系统原理等。我想得好好反思一下,不要让自己在技术淹没在技术漩涡中。做技术现在多如牛毛,能出大师级的很少,有一部分是正真的工程师级,还有一部分是在某个企业能胜任一定工作的及技术师级,还有一部分就是“混混级”的,呵呵,说得不大恰当!
能解决问题就好。。。 技术毕竟是为了让生活过的更好,而不是纠缠于细节成为技术性孔乙己。。
看来你将继续迷失方向,“外围模块”只是些浮华的东西?“计算机组成,操作系统原理”是精华?每个部分都有其精华的部分你没有发掘而已,社会大分工的时代,思想要解放。
我也在学嵌入式软件开发呵呵。多多交流
做技术现在多如牛毛,能出大师级的很少,有一部分是正真的工程师级,还有一部分是在某个企业能胜任一定工作的及技术师级,还有一部分就是“混混级”的,呵呵,说得不大恰当!
呵呵,做做技术之后,你再一转身,再一看的时候,你就会发现,干技术永远发不了,还是得干管理啊,要不然,10年之后,和你一起来的人都当副总裁了,你还是个电子工程师啊,
上面的网友说得不无道理,做技术的可以从技术管理方面着手!
能解决问题就好。。。 技术毕竟是为了让生活过的更好,而不是纠缠于细节成为技术性孔乙己。。
看来你将继续迷失方向,“外围模块”只是些浮华的东西?“计算机组成,操作系统原理”是精华?每个部分都有其精华的部分你没有发掘而已,社会大分工的时代,思想要解放。
我也在学嵌入式软件开发呵呵。多多交流
做技术现在多如牛毛,能出大师级的很少,有一部分是正真的工程师级,还有一部分是在某个企业能胜任一定工作的及技术师级,还有一部分就是“混混级”的,呵呵,说得不大恰当!
呵呵,做做技术之后,你再一转身,再一看的时候,你就会发现,干技术永远发不了,还是得干管理啊,要不然,10年之后,和你一起来的人都当副总裁了,你还是个电子工程师啊,
上面的网友说得不无道理,做技术的可以从技术管理方面着手!
难道是用单片机的管脚来通过时间定时做开关控制晶闸管的导通与关闭的时间比来达到控制加热时输出功率的目的?还请高人多加指点?
答案:
用单片机做PWM控制电加热器的加热功率请问控制思路可以这么考虑:加热功率的大小由输出脉冲的占空比决定,占空比大,则加热功率就大。而输出脉冲的的形成可采用计时方式,即利用内部的定时/计数器产生,可以设置两个定时器,一个为脉冲高电平输出的延时,另一个为低电平输出的延时或整个周期时间的延时。两个定时/计数器采用中断工作方式,另外设置单片机的某一引脚为脉冲输出通道,当两个定时/计数器定时到后,分别改变这个通道的状态,就可实现PWM脉冲的输出。
PWM脉冲的占空比就由于两个定时/计数器的定时确定。而定时的大小则根据检测信号与设定值的偏差,经过PID运算或其它控制规律运算确定。整个单片机系统主程序是对检测加热温度信号进行周而复始的扫描。当扫描到有信号输入时(A/D转换芯片送给单片机的),就进行控制规律的比较,需要改变输出脉冲占空比时,将计算后的两个定时/计数器的定时值分别重新送给这两个定时/计数器定时值的存储单元即可。
实际为了提高时效,可以根据控制规律,将输出脉冲的占空比所对应的两个定时/计数器的定时值事先计算好,并按照顺序事先存放在单片机的内存中,执行程序时则采用查表的方法,在扫描到有信号输入时直接查表,取出定时值送给这两个定时/计数器。这样工作速度快,PWM的动、静态性能较好,但程序编写好后,控制精度就不能更改。
因为,这是整个系统的设计问题,只能简单地说这些思路了。
答案:
用单片机做PWM控制电加热器的加热功率请问控制思路可以这么考虑:加热功率的大小由输出脉冲的占空比决定,占空比大,则加热功率就大。而输出脉冲的的形成可采用计时方式,即利用内部的定时/计数器产生,可以设置两个定时器,一个为脉冲高电平输出的延时,另一个为低电平输出的延时或整个周期时间的延时。两个定时/计数器采用中断工作方式,另外设置单片机的某一引脚为脉冲输出通道,当两个定时/计数器定时到后,分别改变这个通道的状态,就可实现PWM脉冲的输出。
PWM脉冲的占空比就由于两个定时/计数器的定时确定。而定时的大小则根据检测信号与设定值的偏差,经过PID运算或其它控制规律运算确定。整个单片机系统主程序是对检测加热温度信号进行周而复始的扫描。当扫描到有信号输入时(A/D转换芯片送给单片机的),就进行控制规律的比较,需要改变输出脉冲占空比时,将计算后的两个定时/计数器的定时值分别重新送给这两个定时/计数器定时值的存储单元即可。
实际为了提高时效,可以根据控制规律,将输出脉冲的占空比所对应的两个定时/计数器的定时值事先计算好,并按照顺序事先存放在单片机的内存中,执行程序时则采用查表的方法,在扫描到有信号输入时直接查表,取出定时值送给这两个定时/计数器。这样工作速度快,PWM的动、静态性能较好,但程序编写好后,控制精度就不能更改。
因为,这是整个系统的设计问题,只能简单地说这些思路了。
http://user.qzone.qq.com/165162897/blog/1257472476?ptlang=2052
该文章转载自延年的QQ空间:
昨天修改了一个BUG,遇到了一个嵌套P标签的情形,咨询过同事后,得出结论。
根据XHTML嵌套规则,p本身block元素, 而p下只能包含inline元素.
如果在p下再次包含p,就违背了XHTML规则, JS当然不买账了
如果在p下包含div, innerHTML也一样取不到.
昨天修改了一个BUG,遇到了一个嵌套P标签的情形,咨询过同事后,得出结论。
答案:
根据XHTML嵌套规则,p本身block元素, 而p下只能包含inline元素.
如果在p下再次包含p,就违背了XHTML规则, JS当然不买账了
如果在p下包含div, innerHTML也一样取不到.
P:
该文章转载自延年的QQ空间:
昨天修改了一个BUG,遇到了一个嵌套P标签的情形,咨询过同事后,得出结论。
根据XHTML嵌套规则,p本身block元素, 而p下只能包含inline元素.
如果在p下再次包含p,就违背了XHTML规则, JS当然不买账了
如果在p下包含div, innerHTML也一样取不到.
昨天修改了一个BUG,遇到了一个嵌套P标签的情形,咨询过同事后,得出结论。
<p id="yannian1">aaaa</p>
<p id="yannian2"><p>aa</p>bbbb</p>
<script type="text/javascript">
var oyn1=document.getElementById('yannian1');
alert(oyn1.innerHTML);
var oyn2=document.getElementById('yannian2');
alert(oyn2.innerHTML);
</script>
<p id="yannian2"><p>aa</p>bbbb</p>
<script type="text/javascript">
var oyn1=document.getElementById('yannian1');
alert(oyn1.innerHTML);
var oyn2=document.getElementById('yannian2');
alert(oyn2.innerHTML);
</script>
答案:
根据XHTML嵌套规则,p本身block元素, 而p下只能包含inline元素.
如果在p下再次包含p,就违背了XHTML规则, JS当然不买账了
如果在p下包含div, innerHTML也一样取不到.
P:
<a> <abbr> <acronym> <applet> <b> <bdo> <big> <br> <button> <cite> <code> <del> <dfn> <em> <i> <img> <input> <ins> <kbd> <label> <map> <noscript> <q> <ruby> <samp> <script> <select> <small> <span> <strong> <sub> <sup> <textarea> <tt> <var>
当我们用这种方法:Response.Write("")
总是提示什么:你查看的网页试图关闭的提示
如何去掉提示,直接关闭窗体?
可以用以下方法:
Response.Write("")
只有ie6才支持.
opener只要设为任何值都可以,不会出现提示
如果是通过子窗体关闭父窗体时怎么做呢
子窗体(弹出窗体):
同理可得:
Response.Write("")
总是提示什么:你查看的网页试图关闭的提示
如何去掉提示,直接关闭窗体?
可以用以下方法:
Response.Write("")
只有ie6才支持.
opener只要设为任何值都可以,不会出现提示
如果是通过子窗体关闭父窗体时怎么做呢
子窗体(弹出窗体):
同理可得:
Response.Write("")
在vi中,如果要删除行尾的换行符,可以用如下方法:阅读全文
有些文件里敲了很多回车,留下很多空行,想办法把空行去掉,该怎么去?
sed -e '/^$/d' filename
grep -v ^$ a.txt
sed '/^$/d' yourfile
071952V2X5*
9BZ0C1115C*
5172C99Z22*
XB058VZX94*
insert into Tbl_Exchange (FCode,FMemo) values('E305RE636*',1);
行头:
:%s/^/insert into Tbl_Exchange (FCode,FMemo) values('/g
行尾:
:%s/$/',1);/g
sed -e '/^$/d' filename
grep -v ^$ a.txt
sed '/^$/d' yourfile
071952V2X5*
9BZ0C1115C*
5172C99Z22*
XB058VZX94*
insert into Tbl_Exchange (FCode,FMemo) values('E305RE636*',1);
行头:
:%s/^/insert into Tbl_Exchange (FCode,FMemo) values('/g
行尾:
:%s/$/',1);/g
<label id=\"have_votes_to_vote\"></label>";
<label accesskey=\"v\" for=\"vote_votes\"><input type=\"text\" name=\"vote_votes\" id=\"vote_votes\" maxlength=4 ></label>
var maxVote=$('#have_votes_to_vote').text();
var toVote=$('#vote_votes').val();
`FMemo` varchar(64) collate utf8_bin NOT NULL,
PRIMARY KEY (`FUserId`),
UNIQUE KEY `FQQ` (`FQQ`)
unique键值重复!
IE Firefox 浏览器刷新和强制刷新发送的 HTTP Request Header
Firefox:
刷新 F5
Cache-Control: max-age=0
强制刷新 Ctrl+F5
Pragma: no-cache
Cache-Control: no-cache
IE:
刷新 F5
If-Modified-Since: Sun, 21 Nov 2004 14:35:21 GMT
If-None-Match: "14f598-916-a64a7c40"
强制刷新 Ctrl+F5
Cache-Control: no-cache
Firefox:
刷新 F5
Cache-Control: max-age=0
强制刷新 Ctrl+F5
Pragma: no-cache
Cache-Control: no-cache
IE:
刷新 F5
If-Modified-Since: Sun, 21 Nov 2004 14:35:21 GMT
If-None-Match: "14f598-916-a64a7c40"
强制刷新 Ctrl+F5
Cache-Control: no-cache
开发程序遇到的最恐怖的事是什么?就是当你不了解一个东西,测试它的时候碰到了缓存。
测试意味着我们要不断修改,但当你修改了文件(服务器端的)之后,然后刷新浏览器的时候,看到的却依然是原来的界面,不管怎么刷都没用,正当你郁闷的时候,不小心关了浏览器,再重新打开浏览器,输入了刚才的地址,却发现变了,你此时肯定有想砸电脑的冲动。
可能你会说用ctrl+F5,不过下面的几种情况是你ctrl+F5也搞不定的。
iframe
一般的做法是静态html文件里包含一个iframe来调用一个php文件,当你修改了这个php文件之后,发现刷新页面,iframe里面的内容没变,ctrl+F5也不行,这时你可以考虑在iframe显示的地方点击右键,然后刷新,意思就是在iframe外面刷新,刷新的是整个的静态文件,在iframe上面点右键刷新才是刷新的iframe;
ajax
一个静态页面,test.htm,通过ajax调用一个php文件,传递一个参数过去,比如test.php?email=senir@163.com ,php文件返回一个xml,然后通过js将xml里的元素的值填充到htm页,测试正确,然后改了一下那个php文件,一刷新,刚刚填充好的内容全没了。以为是刚刚修改的时候把php修坏了,于是不停的去测php文件,还是无效。
其实刚刚就算没改php文件,再刷一下也会没的。因为再刷新的时候,两次传递的参数是一样的,email=senir@163.com,ajax竟然不会向服务器提交了,晕,解决方法就是再加一个参数,比如后面加个随机数,email=senir@163.com&rand=5, 数字可以通过js的随机数函数来得到。
flash
今天要做一个东西,一个flash文件,这个flash文件调用一个 xml文件,xml文件里有两个元素,通过更改这两个元素的值,flash显示的内容也不同。然后我写一个php文件,获得两个参数,然后通过这两个参数来更新一个xml文件,更新完了之后调用那个flash文件,就可以看到flash里的内容。也就是说传递给这个php文件的参数不同,看到的flash 里的内容也不同。
然后开始测,先手动更改那个xml文件,结果狂刷没用。猜到了是缓存,可是flash也没给右键刷新的地儿啊,经历了无比郁闷的一段时间后,重新开了一个浏览器窗口,结果测试正确。
html缓存就是将服务器发送过来的一部分数据存储到客户端,这样再碰到同样的请求的时候,可以直接从客户端取数据,节省带宽和时间。这肯定是我们程序员不想看到的,因为我们希望同样的请求每次都从服务器端取一遍。
1.F5刷新
2.CTRL+F5刷新
3.重新打开一个浏览器窗口,CTRL+F5刷新
4.对缓存的东西加个参数
上面写的只是我遇到问题是的解决方法,可能并不太好,但应该暂时能解决问题,如果你有更好的方法,欢迎提出。
测试意味着我们要不断修改,但当你修改了文件(服务器端的)之后,然后刷新浏览器的时候,看到的却依然是原来的界面,不管怎么刷都没用,正当你郁闷的时候,不小心关了浏览器,再重新打开浏览器,输入了刚才的地址,却发现变了,你此时肯定有想砸电脑的冲动。
可能你会说用ctrl+F5,不过下面的几种情况是你ctrl+F5也搞不定的。
iframe
一般的做法是静态html文件里包含一个iframe来调用一个php文件,当你修改了这个php文件之后,发现刷新页面,iframe里面的内容没变,ctrl+F5也不行,这时你可以考虑在iframe显示的地方点击右键,然后刷新,意思就是在iframe外面刷新,刷新的是整个的静态文件,在iframe上面点右键刷新才是刷新的iframe;
ajax
一个静态页面,test.htm,通过ajax调用一个php文件,传递一个参数过去,比如test.php?email=senir@163.com ,php文件返回一个xml,然后通过js将xml里的元素的值填充到htm页,测试正确,然后改了一下那个php文件,一刷新,刚刚填充好的内容全没了。以为是刚刚修改的时候把php修坏了,于是不停的去测php文件,还是无效。
其实刚刚就算没改php文件,再刷一下也会没的。因为再刷新的时候,两次传递的参数是一样的,email=senir@163.com,ajax竟然不会向服务器提交了,晕,解决方法就是再加一个参数,比如后面加个随机数,email=senir@163.com&rand=5, 数字可以通过js的随机数函数来得到。
flash
今天要做一个东西,一个flash文件,这个flash文件调用一个 xml文件,xml文件里有两个元素,通过更改这两个元素的值,flash显示的内容也不同。然后我写一个php文件,获得两个参数,然后通过这两个参数来更新一个xml文件,更新完了之后调用那个flash文件,就可以看到flash里的内容。也就是说传递给这个php文件的参数不同,看到的flash 里的内容也不同。
然后开始测,先手动更改那个xml文件,结果狂刷没用。猜到了是缓存,可是flash也没给右键刷新的地儿啊,经历了无比郁闷的一段时间后,重新开了一个浏览器窗口,结果测试正确。
html缓存就是将服务器发送过来的一部分数据存储到客户端,这样再碰到同样的请求的时候,可以直接从客户端取数据,节省带宽和时间。这肯定是我们程序员不想看到的,因为我们希望同样的请求每次都从服务器端取一遍。
1.F5刷新
2.CTRL+F5刷新
3.重新打开一个浏览器窗口,CTRL+F5刷新
4.对缓存的东西加个参数
上面写的只是我遇到问题是的解决方法,可能并不太好,但应该暂时能解决问题,如果你有更好的方法,欢迎提出。
原来用的收藏本站代码一直不能在Firefox上使用,今天无意发现一段FF和IE中通用的收藏本页代码,献给各位网友。
<script type="text/javascript">
function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}
</script>
<a href="javascript:bookmarksite('很实用网站', 'http://www.henshiyong.com')">收藏本站</a>
<script type="text/javascript">
function bookmarksite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}
</script>
<a href="javascript:bookmarksite('很实用网站', 'http://www.henshiyong.com')">收藏本站</a>
我在日志里介绍过,jQuery Load的简单运用和如何防止Load使用缓存。这篇文章将对jQuery Load做更加详细的介绍。
调用load方法的完整格式是:load( url, [data], [callback] ),其中
* url:是指要导入文件的地址。
* data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
* callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
一:如何使用data
1.加载一个php文件,该php文件不含传递参数
$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果
2. 加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name" : "Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam
3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔
$("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=61dh.com
4. 加载一个php文件,该php文件以数组作为传递参数
$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});
//导入的php文件含有一个数组传递参数。
注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数。
二:如何使用callback
比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:
$("#go").click(function(){
$("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){
$("#myID").fadeIn('slow');}
);
});
调用load方法的完整格式是:load( url, [data], [callback] ),其中
* url:是指要导入文件的地址。
* data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
* callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
一:如何使用data
1.加载一个php文件,该php文件不含传递参数
$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果
2. 加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name" : "Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam
3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔
$("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=61dh.com
4. 加载一个php文件,该php文件以数组作为传递参数
$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});
//导入的php文件含有一个数组传递参数。
注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数。
二:如何使用callback
比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:
$("#go").click(function(){
$("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){
$("#myID").fadeIn('slow');}
);
});
今天down了ExtJS,因为最近在用jQuery,所以想顺带看看ExtJS是个啥样,然后写了两个Demo,都因为一些拼写的问题出错了,遂上网找IDE,省心啊!
于是就找到这个:
Spket Eclipse插件:
它采用.jsb project file 文件并将继承于基类和所有文档的内容嵌入到生成代码提示的Script doc中。
1.下载安装包含有Eclipse的Aptana Studio(还是Eclipse用的熟悉啊,怀念一下做Java的日子!);
2.启动Aptana,然后菜单:Help → Software Updates → Find and Install… → Search for new features to install → New remote site…
3.名称可以输入: “Spket”,URL是http://www.spket.com/update/
4.会提示重启Aptana,重启之;
5.然后,官网上有个视频教程,观看一下这个SketIDE的教程,很简单的.(当然你还可以修改/src/ext.jsb来选择任意版本的Ext).
如果教程看不了,我从网上借了一段别人写的步骤,如下:
Window → Preferences → Spket → JavaScript Profiles → New ;
输入“ExtJS”点击OK;
选择“ExtJS” 并点击“Add Library”然后在下拉条中选取“ExtJS”;
选择 “ExtJS”并点击“Add File”,然后在你的./ext-2.x/source目录中选取“ext.jsb” 文件;
设置新的ExtJS Profile,选中并点击“JavaScript Profiles” 对话框右手边的“Defalut”按钮;
重启Aptana;
创建新的JS文件并输入: Ext这样就可设置Ext Code代码自动完成的功能。
一、关于JQuery 1.3.1
JQuery 1.3是JQuery 的一个里程碑式的版本,它包含了一个名为Sizzle的全新CSS选择器引擎,这为最常用的选择器带来了性能上的飞跃。这次发布还同时带来了一个新的API浏览器,开发人员可以通过在线访问或Adobe AIR应用程序的方式来查看实际运行的示例。
在这次新发布中最值得注意的特性有:
* Sizzle,这是一个独立的、扩展性强、更快的CSS选择器引擎。
* 大量重构的事件系统。
* 添加了“Live Events”特性,可以被绑定在所有目前的——以及未来的元素上。
* 迅捷无比的HTML添加功能。
* 重写offset方法以求更好的速度。
l 使用功能检测的方式来确认浏览器,它通过尝试特定浏览器的功能或bug进行确认。
虽然JQuery 1.3.1没有添加新功能,但是却修复了30个bug。本文介绍如何让Aptana Studio支持JQuery 1.3.1。对于使用JQuery的开发人员来说,这意味着可以使用针对JQuery API的智能提示、自动完成和内联参考,并能在IDE中查找这些接口的有关文档。当然,Aptana Studio的JavaScript调试及其他功能也同样适用于这些JQuery API。
二、安装JQuery 1.3.1插件
如何在Aptana Studio中安装JQuery 1.3.1插件呢?步骤如下所示:
1. 在Aptana Studio中,通过选择Window > Show View > Other... > Aptana Standard Views > Plugins Manager来打开插件管理器。
⒉ 在插件管理器中,选择版本为1.3.1的jQuery Support,并单击绿色+图标来开始安装。
JQUERY自动提示插件 --- Aptana
JQUERY自动提示插件 --- Aptana 收藏
转载于:http://www.51toria.cn/article.asp?id=9
Aptana_Studio,基于Eclipse的,是我见过的对JavaScript代码提示最好的IDE,而且还会提示属性在哪些浏览器中有效。由于是基于Eclipse的,所以还可以下载开发PHP的插件,还有开发 AIR 的插件!它的特性包括: *JavaScript,JavaScript函数,HTML,CSS语言的Code Assist功能。 *Outliner(大纲):显示JavaScript,HTML和CSS的代码结构。
*支持JavaScript,HTML,CSS代码提示,包括JavaScript 自定函数
*代码语法错误提示。
*支持Aptana UI自定义和扩展。
*支持跨平台。
*支持FTP/SFTP
*调试JavaScript
*支持流行AJAX框架的Code Assist功能:AFLAX,Dojo,JQuery,MochiKit,Prototype,Rico,script.aculo.us,Yahoo UI,Ext。
*Adobe AIR与iPhone开发工具
其主页上还提供如何使用该开发工具的视频。
参考:
http://www.techrss.cn/html/2009/03-25/231588.htm
于是就找到这个:
Spket Eclipse插件:
它采用.jsb project file 文件并将继承于基类和所有文档的内容嵌入到生成代码提示的Script doc中。
1.下载安装包含有Eclipse的Aptana Studio(还是Eclipse用的熟悉啊,怀念一下做Java的日子!);
2.启动Aptana,然后菜单:Help → Software Updates → Find and Install… → Search for new features to install → New remote site…
3.名称可以输入: “Spket”,URL是http://www.spket.com/update/
4.会提示重启Aptana,重启之;
5.然后,官网上有个视频教程,观看一下这个SketIDE的教程,很简单的.(当然你还可以修改/src/ext.jsb来选择任意版本的Ext).
如果教程看不了,我从网上借了一段别人写的步骤,如下:
Window → Preferences → Spket → JavaScript Profiles → New ;
输入“ExtJS”点击OK;
选择“ExtJS” 并点击“Add Library”然后在下拉条中选取“ExtJS”;
选择 “ExtJS”并点击“Add File”,然后在你的./ext-2.x/source目录中选取“ext.jsb” 文件;
设置新的ExtJS Profile,选中并点击“JavaScript Profiles” 对话框右手边的“Defalut”按钮;
重启Aptana;
创建新的JS文件并输入: Ext这样就可设置Ext Code代码自动完成的功能。
一、关于JQuery 1.3.1
JQuery 1.3是JQuery 的一个里程碑式的版本,它包含了一个名为Sizzle的全新CSS选择器引擎,这为最常用的选择器带来了性能上的飞跃。这次发布还同时带来了一个新的API浏览器,开发人员可以通过在线访问或Adobe AIR应用程序的方式来查看实际运行的示例。
在这次新发布中最值得注意的特性有:
* Sizzle,这是一个独立的、扩展性强、更快的CSS选择器引擎。
* 大量重构的事件系统。
* 添加了“Live Events”特性,可以被绑定在所有目前的——以及未来的元素上。
* 迅捷无比的HTML添加功能。
* 重写offset方法以求更好的速度。
l 使用功能检测的方式来确认浏览器,它通过尝试特定浏览器的功能或bug进行确认。
虽然JQuery 1.3.1没有添加新功能,但是却修复了30个bug。本文介绍如何让Aptana Studio支持JQuery 1.3.1。对于使用JQuery的开发人员来说,这意味着可以使用针对JQuery API的智能提示、自动完成和内联参考,并能在IDE中查找这些接口的有关文档。当然,Aptana Studio的JavaScript调试及其他功能也同样适用于这些JQuery API。
二、安装JQuery 1.3.1插件
如何在Aptana Studio中安装JQuery 1.3.1插件呢?步骤如下所示:
1. 在Aptana Studio中,通过选择Window > Show View > Other... > Aptana Standard Views > Plugins Manager来打开插件管理器。
⒉ 在插件管理器中,选择版本为1.3.1的jQuery Support,并单击绿色+图标来开始安装。
JQUERY自动提示插件 --- Aptana
JQUERY自动提示插件 --- Aptana 收藏
转载于:http://www.51toria.cn/article.asp?id=9
Aptana_Studio,基于Eclipse的,是我见过的对JavaScript代码提示最好的IDE,而且还会提示属性在哪些浏览器中有效。由于是基于Eclipse的,所以还可以下载开发PHP的插件,还有开发 AIR 的插件!它的特性包括: *JavaScript,JavaScript函数,HTML,CSS语言的Code Assist功能。 *Outliner(大纲):显示JavaScript,HTML和CSS的代码结构。
*支持JavaScript,HTML,CSS代码提示,包括JavaScript 自定函数
*代码语法错误提示。
*支持Aptana UI自定义和扩展。
*支持跨平台。
*支持FTP/SFTP
*调试JavaScript
*支持流行AJAX框架的Code Assist功能:AFLAX,Dojo,JQuery,MochiKit,Prototype,Rico,script.aculo.us,Yahoo UI,Ext。
*Adobe AIR与iPhone开发工具
其主页上还提供如何使用该开发工具的视频。
参考:
http://www.techrss.cn/html/2009/03-25/231588.htm