« Posts under Web Development

JavaScript调试技巧一则

本文所描述的场景并不是常见,如果你的脚本并没有很多层嵌套,如果你的脚本不是以动态载入的形式来执行,那么这个很复杂很纠结很麻烦的事情你应该也不会遇到。

很不幸的,在我的工作中,不但会有一个很深层的递归,会动态的载入JS,而且还有eval这样的global code。哦,对了,还有多frame的操作。

好的,让我们开始这个很棘手的事情。

»Read More

实现跨页音乐播放

注:其实媒体文件的播放都可以采用本文的方法,这里仅以音乐为例。

很多喜欢音乐的朋友都喜欢在自己的站点中分享自己喜欢的音乐。通常除了直接给出音乐文件下载地址,还可以在文章内容中嵌入播放器,使读者可以在阅读内容的时候很方便地播放。可以使用Flash或者JavaScript的播放器。Yahoo! Media PlayerJW FLV Media Player 都是不错的选择。但是在播放一首曲目的时候,如果用户想切换到别的页面浏览别的内容,播放就会终止。那如何做到在用户切换页面的时候,使音乐继续播放呢?

»Read More

JavaScript调试工具推荐

好的工具能帮助你事半功倍,至少你能很快的解决问题。或许你对于Visual Studio和Eclipse的调试器印象深刻,而对于JavaScript这样完全基于浏览器的调试无所适从(其实JavaScript的应用场景远远不止于浏览器),那么这篇简介或许能帮到你。

Internet Explorer

Microsoft Script Editor

这是Microsoft自己的一个调试器,要使用它以前确保你有Office。安装方法很简单,Word或别的Office组件中,工具->宏->Microsoft脚本编辑器,安装完以后记得安装web调试。然后在IE的高级选项中记得清除“禁用Internet Explorer调试”前的勾。

»Read More

[测试]跨页音乐播放

前几天尝试了一下跨页播放音乐,大概糊弄了一下。

从这个地址访问:
http://lync.in/go.php?to=http://lync.in/test-playing-music-across-pages/

Test Music #1
In the End

Test Music #2
What I've Done

Test Music #3
New Divide

加载完毕后点击音乐链接旁的[Play]按钮播放。所有音乐资源均来自百度MP3搜索

先测试一下。文章稍后再写。

动态载入脚本和CSS

一般来说,脚本和CSS都是在页面中用<script>和<link>来进行引入,也就是说,正如你现在所看到的这张网页一样,是静态的写在html中的。

而在一些应用场合,你的某一个页面在不同场合下所需的脚本和CSS是不同的,而如果你同时把这些脚本和CSS全部载入在这张页面之中,则会显得非常庞大,而且非常笨重。

一个CSS的示例便是换肤,比如JQuery UI的ThemeRoller,通过后期载入CSS来达到覆盖原有效果的作用(对于同样的CSS效果而言,都是遵循最近原则,所以后加载的文件会覆盖之前CSS的效果)。而JavaScript的示例便是通过页面事件触发来形成一个不同的效果。比如在你按下按钮A时,你需要显示某个UI组件A并加载a.js来激活这个组件的UI表现功能,而在按下按钮B的时候,则对B有类似的操作。如果在A和B的脚本都很大的情况下,在页面加载之初就全部载入就会显得页面初始载入时间过长,给用户的体验就会显得不那么好。所谓的按需索取,就是这个意思(虽然这样并不是一个很好的设计,因为如果频繁使用会让JS请求增加很多,倒不如对脚本进行压缩合并做一个包来得合算,具体情况还是得具体分析)。

在很多JS的框架中都会有对JavaScript和CSS的动态加载的设定。比如在JQuery中有$.getScript(),Dojo有dojo.require(),YUI有YUILoader(YAHOO.util.YUILoader)。

»Read More