浏览模式: 标准 | 列表分类:Javascript
Submitted by gouki on 2010, August 18, 11:56 PM
COPY文字到剪贴板很方便,我是指在IE下面,而其他的就有点复杂了。firefox下面有安全选项的。所以很多人都采用了flash来实现。如果不计flash,那么下面这个函数就十分有用了,可能是转的过多了,也不记得来源是哪里了。如果是原作者看到,请提示一下,一定加上您的链接。
JavaScript代码
- function copyToClipboard(txt) {
- if(window.clipboardData) {
- window.clipboardData.clearData();
- window.clipboardData.setData("Text", txt);
- } else if(navigator.userAgent.indexOf("Opera") != -1) {
- window.location = txt;
- } else if (window.netscape) {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- } catch (e) {
- alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
- }
- var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
- if (!clip)
- return;
- var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
- if (!trans)
- return;
- trans.addDataFlavor('text/unicode');
- var str = new Object();
- var len = new Object();
- var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
- var copytext = txt;
- str.data = copytext;
- trans.setTransferData("text/unicode",str,copytext.length*2);
- var clipid = Components.interfaces.nsIClipboard;
- if (!clip)
- return false;
- clip.setData(trans,null,clipid.kGlobalClipboard);
- alert("复制成功!")
- }
-
Tags: clipboard, flash, firefox
Javascript | 评论:0
| 阅读:19445
Submitted by gouki on 2010, August 16, 11:16 AM
在网页中,看到使用CSS的地方,大多数都会有这么一句:
XML/HTML代码
- <link rel="stylesheet" type="text/css" href="global.css" media="screen">
那么,究竟这个media有什么作用呢?通过查下资料了解到:
XML/HTML代码
- all-- 用于所有设备类型
- aural-- 用于语音和音乐合成器
- braille-- 用于触觉反馈设备
- embossed-- 用于凸点字符(盲文)印刷设备
- handheld-- 用于小型或手提设备
- print-- 用于打印机
- projection-- 用于投影图像,如幻灯片
- screen-- 用于计算机显示器
- tty-- 用于使用固定间距字符格的设备。如电传打字机和终端
- tv-- 用于电视类设备
虽然media有10个值,但我们经常看到的也就print,和screen两种。当然也会有没有media标签的情况,这个时候其实就是默认media="all"。
既然如此,那我们也就相当于了解了,如果你需要打印,那么你在按下打印的时候,系统就会默认调用media="print"所对应的CSS文件了。也因此这样可以让你更好的整理你的打印页面,比如把一些不需要打印的内容屏蔽掉、优化打印页面(让内容更利于被打印)等等
虽然我不是前端,但。。了解一下这些内容还是有点用处的。
Tags: css, media, screen, print
Javascript | 评论:0
| 阅读:24531
Submitted by gouki on 2010, August 15, 2:26 PM
为了让移动设备也能用上jQuery,jQuery开发团队发布了jQuery移动设备版开发项目jQuery Mobile Project(http://jquerymobile.com)。jQuery Mobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。
对于大名鼎鼎的jQuery开发团队来说,当然要让jQuery Mobile支持全球主流的移动平台,而不仅仅是北美流行的移动平台。想要知道jQuery Mobile项目将要做些什么吗?请看jQuery移动平台策略;想要知道jQuery Mobile项目将会支持哪些浏览器吗?请看Mobile Graded Browser Support。
jQuery Mobile开发团队正在紧张工作,准备那些要支持的移动设备并针对这些设备进行测试。他们争取在今年晚些时候发布jQuery Mobile。如果你想为jQuery Mobile提供帮助,请加入jQuery Mobile社区的讨论组。
jQuery Mobile项目已经得到了Palm, Mozilla等移动浏览器厂商的赞助。
jQuery Mobile开发团队说:“能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。我们将尽全力去满足这样的需求。”
编者:移动互联网,挡不住的趋势...
英文原文:Announcing the jQuery Mobile Project
博客园编译
Tags: jquery, jquery mobile
Javascript | 评论:1
| 阅读:23340
Submitted by gouki on 2010, August 11, 10:40 PM
一般情况下,我们对于jQuery的事件绑定都是采用bind,从1.3开始。可以同时绑定多个事件了。这是非常方便的情况,但是对于checkbox和radio来说会有几种情况,比如checkbox选中时,本身就触发了click事件,这时候怎么办?如果为checkbox添加label那么lable在点击时,能不能触发checkbox的click事件?这都需要研究一下。比如,我们在checkbox上绑定了click事件,平时我们在选中的时候都有触发。但是在label上点击的时候,就要再额外加一下了。
$("input[type=checkbox]").bind('click',function(){
//...
})
$('label').click(function(){
$(this).children('input[type=checkbox]').click();
})
基本上也可以触发这种事件。
一般元素在绑定的时候,都是绑定click,change,等
//但如果想触发系统事件,就必须是evtClick了。【这里其实是自定义事件。在绑定后还是需要单独触发一下。原来我写错了。】
可以参考http://www.cnblogs.com/mamboer/archive/2010/08/11/1797532.html
Tags: jquery, bind
Javascript | 评论:0
| 阅读:20137
Submitted by gouki on 2010, August 6, 8:36 AM
做网页开发的时候不可避免会用到JS,当然更不可避免的就会遇到JS错误。当你打开网页时,IE左下角的感叹号是不是让你很郁闷?怎么调试就成了必修课了。
一般来说,IE的出错信息还是能够基本定位到代码中,FF的相对定位的就更准确一些。只是有时候IE报错为0行或者N行(这个N超出了页面行数)时,就比较让人郁闷。而更头疼的是,如果这个代码在FF完全正常,那真是想死的心都有了。
IE下面,可能更多的时候还是利用微软自己提供的工具来进行查错:ms script debugger,只是知道的人很少,用的人更少。现在firebug lite已经登录IE平台(其实也不算是登录,只是加载firebug lite类库而已。不过,这已经能解决大部分问题了)。FF下面嘛,那就主推firebug,随着firebug的流行,一些附加的东西都有了,如firephp,firecookie,eventbug等插件也越来越让人离不开它。safari和chrome这些基于webkit的浏览器。也都有着自带的js调试工具,可用性我就不太清楚了。没用过,更多的时候只保证IE和FF正常就OK了。webkit虽然份额随着国内所谓双核浏览器的开发而增长的较快,但真正的使用者还仅限于那一小撮人群而已。
于是,这,又成了firebug等的天下(IE8已经自带调试工具,快捷键与firebug一样,界面差不多)。
不废话,下面是我转贴的文章,介绍了一些常见的调试方法,其实也不能算是调试,也可以说是代码的一些写法罢了。【略做整理】
A 使用alert() 和document.write() 方法监视变量值
如果要中断代码的运行,监视变量的值,则使用alert() 方法;
如果需要查看的值很多,则使用document.write() 方法,避免反复单击“确定”按钮;
B 使用window.onerror 事件
当页面出现异常时,onerror 事件会在window 对象上触发。它能在一定程度上告诉开发者相关的错误信息。
示例:
JavaScript代码
- <script type="text/javascript">
- function myerror(_message,_url,_line)
- {
- alert("错误信息:" + _message
- +"\n错误的URI:" + _url
- +"\n错误的行数:" + _line
- );
-
- return true;
- }
-
- window.onerror = myerror;
-
-
- window,onload = test;
- </script>
注意:在IE 中,触发error 事件后,正常的代码会继续运行,所有的变量和数据都会保存下来,在其onerror 事件处理方法中可以正常访问到;而在Firefox 中,触发error 事件后,一切都结束,所有的变量和数据都将被销毁。
C 使用 try...catch 语句找错误
示例:
JavaScript代码
- <script type="text/javascript">
- try
- {
- alert(触发异常);
- }
- catch (_ex)
- {
- var err = "错误信息";
- for (var i in _ex)
- {
- err += "\n参数名:" + i
- + "\t参数值:" + _ex[i];
- }
- alert(err);
- }
- finally
- {
- alert("finally 总是会运行");
- }
- </script>
注意:try...catch 并不能很好的处理JavaScript 的语法错误。
示例:
JavaScript代码
- <script type="text/javascript">
- try
- {
- alert("触发语法错误"));
- }
- catch (_ex)
- {
- var err = "错误信息";
- for (var i in _ex)
- {
- err += "\n参数名:" + i
- + "\t参数值:" + _ex[i];
- }
- alert(err);
- }
- </script>
该示例并没有进入catch 块中。
D 使用相关调试器
在IE 和Firefox 浏览器中,可以使用相关的调试器或插件对JavaScript 进行调试。
● 在Firefox 浏览器中,可以使用其自带的“错误控制台”。操作步骤如下:
打开Firefox 浏览器 → 在菜单条“工具”中 → 选择“错误控制台”即可。
在没有其他插件的情况下,其自带的“错误控制台”是一个非常不错的选择。
另外,在Firefox 浏览器中,还有一些很不错的调试器,如:Venkman、Firebug 等。
Venkman 调试器安装后,可以在Firefox 浏览器 → 在菜单条“工具”中 → 选择“JavaScript Debugger ”命令启用;
Firebug 调试器安装后,可以在Firefox 浏览器 → 在菜单条“工具”中 → 选择“Firebug”→ 选择“打开 Firebug”即可;
● 在IE 浏览器中,可以使用 Microsoft Script Debugger 调试器
Microsoft Script Debugger 是微软随IE 4 一同发布的一个IE插件,可以从微软的官方网站上免费下载。
下载安装以后,必须将IE 浏览器的调试选项打开才能使用。操作步骤如下:
1> 打开IE 浏览器 → 选择菜单栏的“工具”→ “Internet 选项”命令 → “高级”选项卡 → 将“禁用脚本调试(Internet Explorer )”复选框中的勾去掉即可。
2> 当IE 浏览器正在浏览页面时,运行Microsoft Script Debugger 调试器工具即可进行调试。
在Microsoft Script Debugger 调试器的 Running Document 面板中选择开启的页面文件(只读),然后按F9 可以设置断点调试。另外,其Command Window 面板也是一个很有用的功能,它能在代码断点停止时,在其中输入变量名并回车,便可看到此时变量的值;Command Window 面板甚至可以接受简单的JavaScript 命令。但Microsoft Script Debugger 调试器自身还存在一个bug 问题。
原文出自:http://www.cnblogs.com/xugang/archive/2010/08/05/1793392.html
Tags: javascript, error, debug
Javascript | 评论:0
| 阅读:29587