3

typeahead.js のプリフェッチ機能を動作させることができませんが、ローカル データでは問題なく動作します。最初は json オブジェクトまたはリストを返すサーブレットにリンクしようとしましたが、しばらくしてそれをあきらめ、提供された例を確認し始めました。そのため、例は次のようなページにリンクしています: http://twitter.github.io/typeahead.js/data/countries.json ただし、スクリプトとまったく同じことを行っても、そのページにリンクしてもスクリプトは機能しません。そのファイルをローカル ワークスペースにコピーして、そこにリンクしようとしましたが、役に立ちませんでした。呼び出しを行っているかどうかを確認するために、get リクエストを受け取るたびにサーブレットをクラッシュさせました。また、オートコンプリートのサンプル ページを実行したときにクラッシュしたので、キャッシュの問題ではありませんでした。jquery を 1.9.1 にダウングレードしてみましたが、うまくいきませんでした (現在は 1.10 を使用しています)。さまざまなバージョンの typehead.js を使用してみました。Internet ExplorerとGoogle Chromeを使用して、エラーが発生するかどうかを確認しました。

考えられるすべてのエラーの原因を調べ尽くしたので、私が見逃している重要なものがあるに違いありません。他の人は、これを機能させるのに何の問題もないようです。

私が使用するコードは次のとおりです。

<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Demo</title>
    <link rel="stylesheet" type="text/css" href="typeahead.js-bootstrap.css">

</head>

<body>

    <script src="jquery.js"></script>
    <script src="typeahead.js"></script>

<input type="text" class="typeahead" placeholder="test" />
    <script>
    $(document).ready(function() {$('.typeahead').typeahead({  
        name: "Auto"  ,
        ttl_ms: 10000,                                                 
        prefetch: 'http://twitter.github.io/typeahead.js/data/countries.json',
        //local: ['abc', 'acd', 'ade', 'bcd]                                                  
});});
    </script>
</body>
</html>
4

1 に答える 1

10

この問題は、ブラウザ ストレージ内のデータのキャッシュに関連しているようです。

  1. ブラウザのストレージ (ブラウザのキャッシュではなく) を消去できます。
  2. name先行入力設定のデータセットを別のものに変更できます。
  3. ttlで下げることができますprefetchttlもちろん、後で増やすこともできます。下記参照:

    prefetch: {
        url: 'http://twitter.github.io/typeahead.js/data/countries.json',
        ttl: 1 // in milliseconds
    },        
    

ここでコードを参照すると、より明確になります: http://goo.gl/TN3Gv

于 2013-07-06T13:32:08.877 に答える