普通用户在腾讯微博可以传图了,电脑传也可以
方法很简单(希望大家能在微博里帮我广播下这篇文章,谢谢):
1.一个可以上手机网站的浏览器,我用的是opera,firefox用户可以使用插件(wmlbrowser)
2.登陆http://t.3g.qq.com
这样就可以发图片了,还不能发图请设置代理
在微博上收获一枚云南联通代理IP: 代理地址:119.62.128.38,端口号:80
小技巧:
1、为了方便传图,大家登陆后把地址添加到收藏夹(请不要泄露这个地址),下次直接从收藏夹中打开就能直接在自己的微博上传图了,省下每次传图都需要输入密码的麻烦。
2、firefox的代理,但是firefox有一个AutoProxy的插件。可以设置只对 ti.3g.qq.com 使用代理,具体使用可以google 一下。
小提示:为了保证帐号密码安全,建议不使用代理登陆手机微博,登陆后保存为书签,以后直接使用书签
wmlbrowser+user_agent_switcher+autoproxy插件集合下载,将插件拖入安装插件的窗口就可以完成安装。
上面的方法可以发图了,但是我们可以把firefox完全伪装成一个手机浏览器
1.安装插件:https://addons.mozilla.org/en-US/firefox/addon/59
2、设置上面的插件(选择Tools-》add-Ons-》找到刚才的插件user agent switcher)选options-》new user agentdescription和user agent都填写:Symbian,其余的全部删除,OK即可
3、在filrefox的Tools有个Default User agent,点一下,换成刚才的Symbian,现在登陆一下http://t.3g.qq.com,看看能发图嘛
插件是否设置成功测试方法:点击http://www.163.com/,看是否跳转到手机版的网易,如果没有跳转请根据第三步重新设置。
我的腾讯微博 @WebLogic
twitter @wasw100
–EOF–
[转] jQuery 1.4特性介绍
来源网址:http://blog.csdn.net/wangjj_016/archive/2010/02/10/5304790.aspx
1月14日jquery发布了1.4版本,新版本有较大变化,但接口基本保持向下兼容。1.4的gzipped压缩版23K,压缩代码69K,为未压缩版 154K,体积略有增加。1.4有些不兼容1.3的地方,会引起原来的应用出错。使用1.4测试了下i.jrj.com.cn首页,好友关注人的ajax 请求都没出来。虽然1.4提供了兼容1.3版本的插件http://code.jquery.com/jquery.compat-1.3.js
,但建议不要在现有的应用中使用,大家可以在新项目或项目改版升级中使用1.4。
我摘选了一些常用API的新特性,大家先睹为快,想更深入学习的可以看看jquery1.4新特性介绍和API。
jquery 1.4新特性介绍:http://jquery14.com/day-01#backwards![]()
jquery API:http://api.jquery.com/![]()
jquery1.4更新内容:
1. 1.4进行内部重构,改写了大多数常用方法,提升了常用方法的性能。
2. 扩展了下面的方法,增加setter函数作为参数。这些方法的接口向下兼容。
.css(), .attr(), .val(), .html(), .text(), .append(), .prepend(), .before(), .after(), .replaceWith(), .wrap(), .wrapInner(), .offset(), .addClass(), .removeClass(), and .toggleClass().
例如:
$(‘div’).html(function(html){ return html.replace(/&/gi,’<span class=”amp”>&</span>’); });
3. Ajax改动比较大,使用1.4测试了下i.jrj.com.cn首页,ajax请求都没出来。
1) 增加了参数的数组序列化 {foo: ["bar", "baz"]}序列化为 “foo[]=bar&foo[]=baz”,而不是以前的foo=bar&foo=baz
三种方法使用原来的序列化:
// Enables for all serialization
jQuery.ajaxSettings.traditional = true;
// Enables for a single serialization
jQuery.param( stuff, true );
// Enables for a single Ajax requeset
$.ajax({ data: stuff, traditional: true });
2) 支持ETag, jq1.4使用ETag判断ifModified,jq1.3使用Last-Modified 判断
3) 根据content-type自动检测dataType是 JSON 或者 script
4) 加强JSON格式检测,不标准的{foo : “bar”}会被拒绝,应使用{“foo” : “bar”}
5) 可以明确指定JSONP回调函数的name
6) Success callback receives XHR object as third argument
7) jQuery.ajax() is now using onreadystatechange instead of a timer
4. 核心的jQuery()
1) 使用属性创建单个元素,这样创建元素就方便多了
2) jQuery()返回空jQuery对象,1.3返回jQuery(document)。所以1.4不推荐使用jQuery().ready(),可以使用jQuery(document).ready()或jQuery(function(){})
5. event
1) 新增事件代理 jQuery.proxy()
2) 新增多事件绑定
3) 增加focusin focusout事件方法
6. 不兼容以前版本的地方,可能会发生错误。
1) add()不再把选择器的匹配结果直接连接起来,1.4把匹配结果合并按照其在dom中的顺序排序
例如:页面上元素顺序是,<p>Added this… (notice no border)</p><div></div>
$(“div”).css(“border”, “2px solid red”).add(“p”).css(“background”, “yellow”)
jq1.3的结果是[<div></div>,<p>Added this... (notice no border)</p>],jq1.4的结果是[<p>Added this... (notice no border)</p>,<div></div>]
2) clone返回带data数据和event时间的元素
3) jQuery.data(elem)返回元素对象,不再返回元素id
4) jQuery()不转成jQuery(document)
5) val(“…”)通过value选中元素
6) jQuery.browser.version返回浏览器的引擎版本号
7) 加强json标准检查
jQuery.param()默认以PHP/Rails形式序列化
9) jQuery.extend(true, …) 不再扩展非原生对象和数组。
10) 如果Ajax request未指定datatye且返回text/javascript,脚本会自动执行。
11) Ajax的ifModified使用ETag检测,jq1.3使用Last-Modified判断
–EOF–
windows下mysql5.1忘记root密码解决方法
步骤如下:
1.停止mysql服务(以管理员身份,在cmd命令行下运行) net stop mysql
2.使用 mysqld –skip-grant-tables 命令启动mysql数据库
D:\>net stop mysql MySQL 服务正在停止. MySQL 服务已成功停止。 D:\>mysqld --skip-grant-tables
3.新开一个cmd窗口,进行如下操作
D:\>mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.26-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> update mysql.user set password=password('root') where user='root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 2 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
4.打开任务管理器,停止mysql,mysqld进程,使用net start mysql启动mysqld服务,就可以使用root用户 root密码进入数据库了
mysql -uroot -proot
补充说明:
1.mysqld使用说明可以使用如下命令获取查看:
mysqld --verbose --help > d:\mysqld_help.txt
帮助中–skip-grant-tables的帮助为:
--skip-grant-tables Start without grant tables. This gives all users FULL
ACCESS to all tables!
所以我们可以使用mysql -uroot而不用密码直接登陆mysql,而且可以修改任何表。
2.如果没有配置mysql的环境变量,需要cd到mysql的bin目录执行上面的命令。
3.可参考:http://www.kuqin.com/database/20080306/4249.html,但是5.1可能没有mysqld-nt命令,其实mysqld就是对应的mysqld-nt命令。
–EOF–
mysql添加远程登陆权限及mysql远程连接命令
1.查看是否有远程连接权限
mysql> use mysql; Database changed mysql> select user,host from user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | | localhost | | root | localhost | +------+-----------+ 3 rows in set (0.00 sec)
%表示所有主机都能访问数据库,localhost表示只能本机访问,我们远程访问可以直接修改user表,但是不建议。
下面命令就是添加远程访问权限(*.*表示所有database的所有表,第一个root是远程登陆名,第二个是远程登陆的密码)
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; Query OK, 0 rows affected (0.00 sec)
在查看一下各个用户访问数据库的host
mysql> select user,host from user; +------+-----------+ | user | host | +------+-----------+ | root | % | | root | 127.0.0.1 | | | localhost | | root | localhost | +------+-----------+ 4 rows in set (0.00 sec)
这样就可以远程连接这个数据库了
远程连接数据库命令:
D:\>mysql -h192.168.137.234 -P3306 -uroot -proot
–EOF–
windows7托盘区自定义消失解决办法
问题来源:win7右下角托盘区多了个三角符号,用于隐藏托盘区图标。有次在自定义中选取了:始终在任务栏显示所有的图标和通知。这样那个三角符号消失了,全部显示。想改为有三角符号的那种形式。
解决办法:右击任务栏->属性 在通知区域中选 自定义 去掉 始终在任务栏显示所有的图标和通知 前面的√,确定即可。
–EOF–
html form中onsubmit的使用
html form 中的onsubmit在点submit按钮时被触发,如果return false;则结果不会被提交到action中去(也就是提交动作不会发生),如果不返回或者返回true,则执行提交动作。(<a onclick=”return confirm(‘是否跳转到百度?’);” href=”http://www.baidu.com”>baidu</a>也同理),下面是一个例子程序
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html form onsubmit使用</title>
<script type="text/javascript">
alert("加载此页面时执行");
function buttonSubmit(){
document.form1.submit();
}
</script>
</head>
<body>
<a onclick="return confirm('是否跳转到百度?');" href="http://www.baidu.com">baidu</a>
<form name="form1" onsubmit="return confirm('是否进行提交?');">
<input type="submit" value="submit" />
<input type="button" value="button" onClick="buttonSubmit();"
</form>
</body>
</html>
结论:
1.如果html中使用form的onsubmit进行提交前的数据验证,需要验证函数返回一个布尔值,而且要写成onsubmit=”return 函数名();” return不能少,否则无论函数返回true还是false都能够提交,达不到验证的目的。
2.只能使用sunmit按钮进行提交才触发onsubmit事件,button按钮的提交不能触发onsubmit事件
–EOF–
jquery的attr val
$(this).attr(key); 获取节点属性名的值,相当于getAttribute(key)方法
$(this).attr(key, value); 设置节点属性的值,相当于setAttribute(key,value)方法
$(this).val();获取某个元素节点的value值,相当于$(this).attr(“value”);
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr(“value”,value);
jquery attr例子:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery attr属性</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#iButton").click(function(){
alert($(this).attr("test")); //获取test的属性
$(this).attr("test","abc");//设置test的属性为abc
alert($(this).attr("test"));
});
});
</script>
</head>
<body>
<input id="iButton" type="button" test="123" value="按钮" />
</body>
</html>
对应的javascript dom代码为:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>attribute属性</title>
<script type="text/javascript">
function attrTest(){
alert(document.getElementById("iButton").getAttribute("test"));
document.getElementById("iButton").setAttribute("test","abc");
alert(document.getElementById("iButton").getAttribute("test"));
}
</script>
</head>
<body>
<input id="iButton" type="button" test="123" value="按钮" onclick="attrTest();" />
</body>
</html>
–EOF–
java中Swing图片显示
参考:
1.http://topic.csdn.net/u/20090914/15/689b5bb2-1bfd-4455-9599-8116fa42c2ef.html
2.How to Use Icons
swing显示图片的方法有好几种,因为JLabel用于短文本字符串或图像或二者的显示区,所以也可以使用JLabel的icon显示,或者JLabel支持html的特性显示图片。可以使用图片重绘显示图片。
下面是两个JLabel显示图片的很简单的例子。
例子1:使用JLabel支持html的特性显示图片
package test;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
* 使用JLabel支持html显示图片
* @author wasw100
*/
public class DisplayImageHtml extends JFrame {
private JLabel lblImg;
public DisplayImageHtml() {
setTitle("swing显示图片");
setSize(200, 140);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
lblImg = new JLabel();
add(lblImg);
setVisible(true);
lblImg.setText("<html><img src='http://www.wasw100.com/wp-content/themes/inove/img/logo.gif' /><html>");
}
public static void main(String[] args) {
new DisplayImageHtml();
}
}
例2:使用JLabel的setIcon显示图片
package test;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class DisplayImageIcon extends JFrame {
private JLabel lblImg;
private Icon icon;
public DisplayImageIcon() {
setTitle("swing显示图片");
setSize(200, 140);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
lblImg = new JLabel();
add(lblImg);
setVisible(true);
try {
icon = new ImageIcon(new URL("http://www.wasw100.com/wp-content/themes/inove/img/logo.gif"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
lblImg.setIcon(icon);
}
public static void main(String[] args) {
new DisplayImageIcon();
}
}
–EOF–
[转载]解决jQuery的JSON缓存问题
转自:http://halk.javaeye.com/blog/592306
现象: 页面使用jQuery的Ajax方式更改内容,提交保存至数据库后使用jQuery.getJSON方式重新读取数据,页面没有更新,重新登录系统后页面才显示更改后的数据。
原因: IE会缓存jQuery的get请求,导致不能查询到新的数据
解决方法 :
1、在请求URL后添加随机数,例如:
var url ="/operaterMultiAction.do?randomNum="+Math.random();
2、使用POST方式定义JSON调用,如:
$.postJSON = function(url,data,callback){
$.post(url,data,callback,"json");
}
3、使用ajax方法,声明缓存为false
$.ajax({
url:"/operaterMultiAction.do",
dataType:"json",
cache:false,
success:function(data){
}
});
–EOF–
java swing程序最小化到托盘区
很多桌面程序需要长时间运行,我们不想一直占用宝贵的任务栏,这时我们需要最小化时把程序放到托盘区,以下就是java中swing程序最小化到托盘区的例子,注释很详细:
package com.wasw100;
import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TrayTest extends JFrame{
private JLabel lbHello = new JLabel("Hello World");
private Image icon;// 托盘图标
private TrayIcon trayIcon;
private SystemTray systemTray;// 系统托盘
private PopupMenu pop = new PopupMenu(); // 构造一个右键弹出式菜单
private MenuItem exit = new MenuItem("退出程序");
private MenuItem show = new MenuItem("显示窗口");
public TrayTest(){
//托盘图标部分结束
// icon初始化
icon = Toolkit.getDefaultToolkit().getImage(
this.getClass().getResource("icon.gif"));//托盘图标显示的图片
if (SystemTray.isSupported()) {
systemTray = SystemTray.getSystemTray();// 获得系统托盘的实例
trayIcon = new TrayIcon(icon, "鼠标放到托盘图标上的文字", pop);
// wasw100
pop.add(show);
pop.add(exit);
try {
systemTray.add(trayIcon); // 设置托盘的图标
} catch (AWTException e1) {
e1.printStackTrace();
}
addWindowListener(new WindowAdapter() {
public void windowIconified(WindowEvent e) {
dispose();// 窗口最小化时dispose该窗口
}
});
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1
&& e.getButton() != MouseEvent.BUTTON3) {// 左击击托盘窗口再现,如果是双击就是e.getClickCount() == 2
setVisible(true);
setExtendedState(JFrame.NORMAL);//设置此 frame 的状态。
}
}
});
show.addActionListener(new ActionListener() { // 点击"显示窗口"菜单后将窗口显示出来
public void actionPerformed(ActionEvent e) {
// systemTray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
setVisible(true); // 显示窗口
setExtendedState(JFrame.NORMAL);
}
});
exit.addActionListener(new ActionListener() { // 点击“退出演示”菜单后推出程序
public void actionPerformed(ActionEvent e) {
//这里可以写执行退出时执行的操作
System.exit(0); // 退出程序
}
});
}// 托盘图标部分结束
//以下是swing程序
setIconImage(icon);//更改程序图标
add(lbHello);
setTitle("hello");
setSize(200, 150);
//自动确定窗口位置
setLocationByPlatform(true);
//点击关闭按钮能够自动退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new TrayTest();
}
}
–EOF–