我知道已经提出这个问题了,但这些帖子没有回答我的问题。
以下是代码:
console.log(searchKD("女"));
function searchKD (input) {
var mtable, tr, td, i, href, kanji;
GM_xmlhttpRequest ( {
method: "GET",
url: "http://www.kanjidamage.com/kanji",
context: href,
onload: function (response) {
var parser = new DOMParser ();
var doc = parser.parseFromString (response.responseText, "text/html");
mtable = doc.getElementsByClassName ("table")[0];
tr = mtable.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td");
for (var j = 0; j<td.length; ++j) {
if (td[j].innerHTML.indexOf(input) > -1) {
kanji = td[j].innerHTML.toString();
href = KanjiDamage + kanji.match(/href="([^"]*)/)[1];
}
}
}
}
} );
return href;
}
这里的一切都很完美,除了它返回'undefined'。我知道这是因为它是异步的,但我无法解决这个问题。
请回答一个示例代码段。