[英]How to retain both the search query box and the alphabetical search after clicking on search button and printing result on the same page
[英]Javascript: Append a string to search query after clicking submit/search button
在这种情况下,让我们以Google为例:
代码是JScript .NET,它基本上是Java的.NET版本。 无论语言如何,具有附加技能的任何人都可以回答我的问题。
该代码在Fiddler
(这是中间人代理)
if (oSession.uriContains("&q=")) // oSession is a Fiddler object session // uriContains() function, checks for case-insensitive string from the URI
{
var str = oSession.fullUrl;
var sAppend = "test1+test2+test3";
if (!oSession.uriContains(sAppend))
{
oSession.fullUrl = str.replace( "&q=","&q="+sAppend);
}
}
对于那些谁是混淆,它说,如果&q=
存在于URI,替换/追加&q=
与&q=test1+test2+test3
问题 :当在URL中看到&q=
时,它将立即追加test1+test2+test3
。
基本上,如何让它等到单击提交/搜索按钮之后
谢谢。
我假设:
隔离那些由于在Google上按下搜索按钮而产生的请求并不是一件容易的事,但我想出了一个可行的方法。 基本上, 仅当用户显式按下button / enter键时才添加 oq
(原始查询)get参数,因此我们测试其是否存在以识别此类请求。
在Fiddler Handlers
类的OnBeforeRequest
方法中(您已经在其中放置代码了),我们将:
q
参数
oq
参数 (原始查询)
if(oSession.HostnameIs('www.google.com') && oSession.uriContains("&q=")){
FiddlerApplication.Log.LogString('query submitted to google.com...');
oSession['ui-backcolor'] = 'pink'; //highlight this request
//test for original query
if(oSession.uriContains('&oq=')){
FiddlerApplication.Log.LogString('SUBMIT BUTTON OR ENTER CLICKED (probably)');
oSession['ui-backcolor'] = '#369369'; //highlight in Light Forest Green
//whatever sort of request manipulation you want to do here...
}
}
q
值,即q=Hello
将成为q=test1+test2+test3Hello
。 如果要替换它,则需要更多正则表达式。 在JavaScript中,您可以将动作绑定到事件。 在您的情况下,事件是表单的submit
,例如:
function addEventsToHTML(){
var form1 = document.getElementById('form1');
form1.onsubmit = submitHandler;
function submitHandler(){
alert("You just submit: "+this.email.value);
}
}
如果要在单击时绑定它,可以执行以下操作:
object.onclick=function(){myScript};
要么
object.addEventListener("click", myScript);
注意 :Internet Explorer 8和更早版本不支持addEventListener()方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.