(62.0.54.118에 죄송하지만 SO 허용하지 않습니다 하이퍼 링크) :AJAX 기반 페이지에서 <input>의 이름 필드를 변경하는 방법은 무엇입니까? 이 대상 페이지에 대한
http://62.0.54.118/search?&q=42&oq=42&sourceid=chrome&ie=UTF-8&filter=0
, 나는 userscript에 디폴트로 <input>
의 이름 필드를 변경하고 싶습니다.
입력은 다음과 같습니다이다
<input class="gsfi" id="lst-ib" name="&q" maxlength="2048" value="42"...>
, 나는 입력의 name
분야별로 &q
에 q
을 변경하려면 :
<input class="gsfi" id="lst-ib" name="q" maxlength="2048" value="42"...>
내가 그것을 변경하려면 태만.
나는 (작동하지 않는), 스크립트를 작성하려고 :
// ==UserScript==
// @name Normal Google Input
// @include http://62.0.54.118/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
waitForKeyElements ("input[name*='q']", changeLinkQuery);
function changeLinkQuery (jNode) {
var oldName = jNode.attr ('name');
var newName = oldName.replace (/\q/, "&q");
jNode.attr ('name', newName);
return true;
}
또한이 페이지는 Ajax 기반의 페이지입니다.
나쁜 스크립트를 수정하거나 다른 것을 작성해주세요. 감사합니다.
업데이트 : 나는부터 내 스크립트의 라인을 변경하여 그 일부를 해결 :
var newName = oldName.replace (/\q/, "&q");
var newName = oldName.replace (/q/, "&q");
에 다음 내 스크립트가 잘 작동합니다. 그 제안을 해주신 @Gerard Sexton에게 감사드립니다.
waitForKeyElements
콜백이 페이지의 AJAX에 대해 return true;
으로 설정된 새로운 버그가 있으며, &
논스톱이 추가됩니다.
이
내가 그것을 어떻게 해결할 수 등,이 필드가name="&&&&&&&&&q"
로 원인은?
가/Q 당신의 정규식을 변경/ –
덕분에, 그 트릭 – reemar
을 내가 그것을했다하지만 난 여전히 스크립트 버그가 있습니다 는'true를 반환을,'아약스는'및'에 추가 할 수 있도록하기위한 이 필드가'name = "&&&&&&&&&& q가되도록하지 마십시오. – reemar