私は 'find page in'検索ボックスを実装しており、うまくいくいくつかのjavascriptコードを見つけました。複数の文字列がある場合は、Enterキーを押して結果間を移動し、最初に戻ります。ただし、結果が1つだけの場合は、最初の検索で見つからないアラートがスローされた後にもう一度入力してください。単一の結果で再度Enterキーを押したときに警告が表示されなくなるような方法はありますか?ここでJavascriptで検索 - 1つの結果エラー
コードです:
var TRange=null;
function findString (str) {
if (parseInt(navigator.appVersion)<4) return;
var strFound;
if (window.find) {
// CODE FOR BROWSERS THAT SUPPORT window.find
strFound=self.find(str);
if (!strFound) {
strFound=self.find(str,0,1);
while (self.find(str,0,1)) continue;
}
}
else if (navigator.appName.indexOf("Microsoft")!=-1) {
// EXPLORER-SPECIFIC CODE
if (TRange!=null) {
TRange.collapse(false);
strFound=TRange.findText(str);
if (strFound) TRange.select();
}
if (TRange==null || strFound==0) {
TRange=self.document.body.createTextRange();
strFound=TRange.findText(str);
if (strFound) TRange.select();
}
}
else if (navigator.appName=="Opera") {
alert ("Opera browsers not supported, sorry...")
return;
}
if (!strFound) alert ("String '"+str+"' not found!")
return;
}
私は明らかに何かがありますかどうかを確認するために、コードを見てきたが、私はJavaScriptに新たなんだし、それを把握することはできません。
ご迷惑をおかけして申し訳ありません。ありがとう。
検索用語が変更された場合のみ検索できるようにすることができます...以前の検索文字列を保存し、pressに入力し、新しい用語が異なる場合には検証し、検索関数を呼び出す必要があります。 ... – gkb
すばやい返信をいただきありがとうございます。複数の結果を繰り返す機能が削除されますか? –
複数の結果を循環すると言っても、私はそれを得ていません。あなたは何らかの種類の遅延読み込みがあることを意味していますか? – gkb