2

私は HTML と JavaScript のコーディングを学んでいましたが、IP アドレスを使用してページにアクセスするときに、相対パスを使用してスクリプトと CSS をロードすることに関して、少し混乱する (そして非常に苛立たしい問題) に遭遇しました。Chrome 30.0.1599.69 と IE10 の両方に問題はないようですが、Firefox 24 には問題があり、名前ではなく IP アドレスを使用している場合のみです。

フォルダ構造は次のとおりです。

Dashboard/index.html
Dashboard/css/dashboard.css
Dashboard/js/dashboard.css
Dashboard/leaflet/
etc

HTML は次のようになります。

<!DOCTYPE html>
  <html>
  <head>
    <title>Dashboard</title>
    <meta charset="utf-8" />
    <!-- css loading -->
    <link rel="stylesheet" href="leaflet/leaflet.css" />
    <link rel="stylesheet" href="css/dashboard.css" /> 
    <!-- script loading -->
    <script src="leaflet/leaflet.js"></script>
    <script src="js/dashboard.js"></script>
    <script src="d3.v3/d3.v3.js"></script>
  </head>
  <body>
     etc...

http://localhost:8888/Dashboard/上記は、すべてのブラウザー (ブラウザー バー) で(python simpleHTTPServer を使用して) localhost 経由で開いた場合に正常に動作します。ダッシュボード フォルダとサブフォルダをC:\Inetpub\wwwroot\Windows Server 2003/IIS 6.0 の既定の Web ページ エリア ( ) に移動し、ページにアクセスしようとすると、Firefox を使用して IP アドレスで試すまでは問題なく動作します。

たとえばhttp://mywebpage/Dashboard/index.html、ページを表示し、すべての css、js ファイルなどを正しくロードします。コンソールを使用すると、次のことがわかります。

[10:57:32.081] GET http://mywebpage/Dashboard/css/dashboard.css [HTTP/1.1 200 OK 10ms]

IPで試してみると(名前はネットワーク上でのみ解決され、外部のときにページを表示したいため)、Firefoxで次のエラーが発生します。

[10:57:25.135] GET http://XXX.XXX.XXX.XXX/css/Dashboard.css [HTTP/1.1 404 Not Found 7ms]

それだけでなく、Firefox のアドレス バーの URL が異なって見えます: XXX.XXX.XXX.XXX/Dashboard\index.html#< バックスラッシュと#表示に注意してください。

Chrome または IE10 ではこの問題は発生しません。そのため、IP アドレスを使用してアクセスする場合、Firefox は html ドキュメントのパスに対して相対的ではなくサーバーに対して相対的に見えますが、Chrome と IE10 は名前または IP の使用に関係なく、ページに対して相対的に見えます。Firefox は、バックスラッシュを表示#し、最後に a を追加することも決定します。

フォルダー名を使用してリンクをコーディングすると、Firefox の IP アドレスの問題が解決されるように見えます<link rel="stylesheet" href="Dashboard/leaflet/leaflet.css" />が、ネットワーク パスにフォルダー名が追加されるため、Chrome が台無しになります (コンソールに表示されます) http://XXX.XXX.XXX.XXX/Dashboard/Dashboard/leaflet/leaflet.css。Firefox がこのように動作するのはなぜですか? IP が使用されている場合のみなのはなぜですか?

-アップデート-

同僚のマシンでこれをテストしましたが、イライラすることに動作が再現されないため、Firefox のインストールに何か問題があるのではないかと考え始めています。

-アップデート2-

再インストールすると、Firefox は、localhost、サーバー名、および Web ページへの IP アクセスで期待どおりに動作しています。うまくいけば、これはもはや問題ではありません! 私はまだ相対パスを使用しています。先頭の「/」は、サーバーのルート フォルダーに表示され、localhost でのデバッグに影響します。

4

2 に答える 2

0

再インストールすると、Firefox は、localhost、サーバー名、および Web ページへの IP アクセスで期待どおりに動作しています。うまくいけば、これはもはや問題ではありません! 私はまだ相対パスを使用しています。先頭の「/」は、サーバーのルート フォルダーに表示され、localhost でのデバッグに影響します。

于 2013-10-14T20:41:36.157 に答える