1

jQueryにはかなり奇妙な問題があります:

次の場所に (Flask を使用した) Web サイトがありhttp://localhost:5000/ます。完全に機能します。今、私はサブドメインを設定し、編集しました/etc/hosts(私は追加 しまし127.0.0.1 fonts.localhostた) Uncaught TypeError: Cannot call method 'toLowerCase' of undefined。これは、圧縮されていないjQuery 1.7.2ファイルの関数uaMatchin lineから来ています。関数に渡される引数は未定義でなければなりません。uaMatch は、 を使用して 1 回 (925 行目) 呼び出されるだけで、75行目で割り当てられます。です(デバッグコンソールによると)。884userAgentuserAgentuserAgent = navigator.userAgentnavigator.userAgent"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19"

したがって、サブドメインでのみ発生するこのエラーが発生する理由が本当にわかりません。の重要な html ですfonts.localhost:5000

<!doctype html>
<title>test</title>
<meta charset=utf-8>
<link rel=stylesheet type=text/css href="http://localhost:5000/static/style.css">
<link rel=stylesheet type=text/css href="http://localhost:5000/static/bootstrap.min.css">
<script type=text/javascript src="http://localhost:5000/static/jquery-1.7.2.min.js"></script>
<body>
    …
</body>

編集:圧縮されていないjQueryでも機能しません(テスト用にGoogleでホストされているjQueryファイルも含めましたが、同じエラーです)

4

1 に答える 1

0

ああ、やっとエラーが見つかりました。jQuery は TLD のないドメインを処理できないようです。この変更 jQuery が機能した後、ホスト エントリを から に変更しました127.0.0.1 fonts.localhost127.0.0.1 fonts.localhost.localdomainバグレポートの価値はありますか?

于 2012-05-05T16:41:05.147 に答える