打算建立一个专题, 专门用来记载一些 web开发中的"冷知识"
这里的冷知识是指: 冷门 不常用 不重要 而且并不复杂的知识.(我认为的冷知识,也有可能大家都知道 只是我不知道 :P )
可能涉及到 js技巧 ,css hack , 不同浏览器特性等
(但不包括常见的 和google上能轻易找到的)
基本上 这些知识可以知道也可以不知道,
而且这些知识随着 浏览器版本的演进,随时都有可能发生变化.
总之 可以理解为是一些无聊的知识,但是如果web开发足够深入, 也许这些知识在帮助你解决问题的时候 是很重要的.
==================================================
[size=large][color=blue]1 关于<form>的get post[/color][/size]
提交时,在后台的sevlet里
request.getParameter("name") = ???
request.getParameter("age") = ???
如果把form的 method 改为 post 呢 ?
答案:
method= get 时 无法取到 name
method= post 时 都可以取到 name.
简单的解释,可以理解为 form的 get请求时 会忽略 action对应地址中的参数部分
传参一定要用 表单域.
而post则没问题.
[size=large][color=blue]2 关于<button>标签[/color][/size]
<button>...</button> 作为 input type="button/submit/reset"的一个代替者,功能更强大, 标签的语义也更明确 是实际开发中推荐使用的一个html标签.
但是关于他有几个小细节.
首先
1 <button>...</button> 中间的 ... 支持html代码 (这个大家都知道吧)
<button>按<strong>钮</strong>啊</button>
2 <button>...</button> 在不指定 type="..."时,
在IE下是默认代表 input type="button"
其他浏览器下代表 input type="submit"
所以为了更好的跨浏览器, 请不要忘记给button标签指定 type.
3 (此问题不仅仅涉及到button)
<button id="btn1" >...</button> 如果不指定 type. 下面的js代码
在ie7下, 均为 "button"
在opera下, 均为 "submit"
在ff2下 , t1为"submit" ,t2为null
在safari下 t1为空串 ,t2为null
诡异吧. 太诡异了. 我比较能接受的是 ff2下的处理方法.
safari的做法实在是 ... 难道这事又一个safari的bug ???
[size=large][color=blue]3 如何开启safari 3.04b for win 的debug功能[/color][/size]
修改下面的文件 (C:\Documents and Settings\<USERNAME>因安装环境不同可能有变)
[quote]C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Safari\ Preferences.plist
[/quote]
添加
[size=large][color=blue]4 如何开启safari for win 的Web Inspector 功能[/color][/size]
修改下面的文件 (C:\Documents and Settings\<USERNAME>因安装环境不同可能有变)
[quote]C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Safari\WebKitPreferences.plist
[/quote]
这里的冷知识是指: 冷门 不常用 不重要 而且并不复杂的知识.(我认为的冷知识,也有可能大家都知道 只是我不知道 :P )
可能涉及到 js技巧 ,css hack , 不同浏览器特性等
(但不包括常见的 和google上能轻易找到的)
基本上 这些知识可以知道也可以不知道,
而且这些知识随着 浏览器版本的演进,随时都有可能发生变化.
总之 可以理解为是一些无聊的知识,但是如果web开发足够深入, 也许这些知识在帮助你解决问题的时候 是很重要的.
==================================================
[size=large][color=blue]1 关于<form>的get post[/color][/size]
<form method="get" action="/abc.serlvet?name=tom">
<input type="text" name="age" value="23" />
<input type="submit" />
</form>
提交时,在后台的sevlet里
request.getParameter("name") = ???
request.getParameter("age") = ???
如果把form的 method 改为 post 呢 ?
答案:
method= get 时 无法取到 name
method= post 时 都可以取到 name.
简单的解释,可以理解为 form的 get请求时 会忽略 action对应地址中的参数部分
传参一定要用 表单域.
而post则没问题.
[size=large][color=blue]2 关于<button>标签[/color][/size]
<button>...</button> 作为 input type="button/submit/reset"的一个代替者,功能更强大, 标签的语义也更明确 是实际开发中推荐使用的一个html标签.
但是关于他有几个小细节.
首先
1 <button>...</button> 中间的 ... 支持html代码 (这个大家都知道吧)
<button>按<strong>钮</strong>啊</button>
2 <button>...</button> 在不指定 type="..."时,
在IE下是默认代表 input type="button"
其他浏览器下代表 input type="submit"
所以为了更好的跨浏览器, 请不要忘记给button标签指定 type.
3 (此问题不仅仅涉及到button)
<button id="btn1" >...</button> 如果不指定 type. 下面的js代码
var t1 = document.getElementById('btn1').type;
var t2 = document.getElementById('btn1').getAttribute('type');
在ie7下, 均为 "button"
在opera下, 均为 "submit"
在ff2下 , t1为"submit" ,t2为null
在safari下 t1为空串 ,t2为null
诡异吧. 太诡异了. 我比较能接受的是 ff2下的处理方法.
safari的做法实在是 ... 难道这事又一个safari的bug ???
[size=large][color=blue]3 如何开启safari 3.04b for win 的debug功能[/color][/size]
修改下面的文件 (C:\Documents and Settings\<USERNAME>因安装环境不同可能有变)
[quote]C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Safari\ Preferences.plist
[/quote]
添加
<key>IncludeDebugMenu</key>
<true/>
[size=large][color=blue]4 如何开启safari for win 的Web Inspector 功能[/color][/size]
修改下面的文件 (C:\Documents and Settings\<USERNAME>因安装环境不同可能有变)
[quote]C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Safari\WebKitPreferences.plist
[/quote]
<key>WebKitDeveloperExtras</key>
<true/>