<script>
function qs(el)
{
if (window.RegExp && window.encodeURIComponent)
{var qe=encodeURIComponent(document.f.q.value);
if (el.href.indexOf("q=")!=-1)
{el.href=el.href.replace(new RegExp("q=[^&$]*"),"q="+qe);}
else {el.href+="&q="+qe;}
}
return 1;}
</script>
其中,
if (window.RegExp && window.encodeURIComponent)
{var qe=encodeURIComponent(document.f.q.value);
就是(这种模式兼顾了一些浏览器不EncodeURL就发送的情况)。
还有一种方法,直接构建一个隐藏Form,选择get模式递送,也可以达成。因为get方式一般会自动EncodeUrl字符串发送的。
如 www2.fodian.net:
<form action="http://www.google.com/search" method="get" target="_blank">
<td align="middle">
Google站内检索
<input type="hidden" value="zh-CN" name="hl">
<input type="hidden" value=" site:www2.fodian.net" name="st">
<input type="hidden" name="ie" value="gb2312">
<input class="stedit" onmouseover="this.select();" maxLength="2048" size="14" name="q">
<input class="stsubmit" onclick="q.value=q.value+st.value" type="submit" value="search" name="btnG">
</td>
</form>
隐藏Form的input一般就直接建立在JS里面。
关于快捷键,很多浏览器对F9/F10都有定义。最好换用其他的功能键。
对于Mozilla浏览器的快捷键定义,因为我曾经参与过Mozilla中文化的一些讨论,所以推荐去创建不久的Mozilla.org.cn(Mozilla中国站)了解Gecko引擎的处理办法。一般来说Mozilla严格遵照W3C等规范,而不像IE那样自创......
目前,法华论坛其他一些DHTML/JS功能都是符合W3C规范的。
希望对这个功能有帮助。 :)