0

Web 開発者が Web ページ内のコードを見つけるのに役立つこの関数を使用しています。

function findString (str) {
  var strFound;
  strFound=self.find(str);
  if (strFound && self.getSelection && !self.getSelection().anchorNode ){   
    strFound=self.find(str);
  }
  if (!strFound) {
    strFound=self.find(str,1,1)
    while (self.find(str,1,1)) continue
  }
}

問題は、たとえば次の文字列を入力したときです。

array[1]

それが見つからない!この関数を試してみたところ、他の文字列を見つけることができるので、これは奇妙です。では、この関数を使用して角かっこを含む文字列を検索するにはどうすればよいでしょうか (可能であれば正規表現を使用せずに)。

ありがとうございました、

よろしく

4

2 に答える 2

0

スクリプトを試してみましたが、バグがあります。以下を交換した場合

if (strFound && self.getSelection && !self.getSelection().anchorNode )  

次のように

if (strFound && self.getSelection && !self.getSelection().anchorNode )  {

できます。

FirefoxおよびChromeでは、検索された文字列がarray [1]の場合、strFoundはtrueです。IE 8では、スクリプトは機能しません。

編集:私がテストしたコード:

$(document).ready(function() {
    findString("array[1]");
});

function findString (str) {
    var strFound;
    strFound=self.find(str);
    if (strFound && self.getSelection && !self.getSelection().anchorNode )  {
        strFound=self.find(str);
    }
    if (!strFound) {
        strFound=self.find(str,1,1)
        while (self.find(str,1,1)) continue
    }
    alert(strFound);
 }
于 2010-08-30T13:17:38.173 に答える
0

find が呼び出されるオブジェクト関数は? それは窓ですか?はい、その機能は正確には何findですか?ドキュメントによると、次のとおりです。

find() メソッドを呼び出すと、検索ダイアログ ボックスが表示されます。これにより、ユーザーは呼び出し元のページで文字列を検索できます。

これは、HTML トークンが処理されず、まさに HTML トークン配列 [1] を探しているということですか? この機能はどのブラウザでサポートされていますか?

サーバー側の検索を実装する 1 つの方法は、ファイル全体を読み取り (ファイルの場所がわかっている場合)、文字列関数を使用して単純な正規表現を実行することです。search

于 2010-08-30T13:10:32.137 に答える