web-dev-qa-db-ja.com

Javascriptがローカルドライブから読み込まれない

サーバーにアップロードする前にローカルハードドライブのインデックスページを変更するのは明らかです。また、javascriptがロードされていません。これは機能しません:

file:///Users/meltemi/Sites/mysite/index.html

しかし、ページがApacheからアップロードされて提供されると、javascriptは機能します。

http://www.mysite.com/index.html

サイトディレクトリは、ローカルとリモートサーバーの両方で同一です。これをSafari 5.0.5およびFirefox 4.0で試しました。

コードの抜粋ですが、コードの問題だとは思いませんが:

<!DOCTYPE html>
<html lang="en">
<!--<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">-->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" type="text/css" media="screen" href="css/main.css" />
    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <script type="text/javascript"
     src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script type="text/javascript" src="galleria/galleria-1.2.3.min.js"></script>

</head>
<body>
<header class="group">
    <div id="header-inner">
        <nav class="group">
                  ...
        </nav>
    </div>
</header>
<hr />
<script type="text/javascript">
    if (Galleria) { $("body").text('Galleria works') }
</script>
</body>
</html>
2
Meltemi

ドライブを含むフルパスを指定する必要があります。 file:部分は不要です。

C:/Users/meltemi/Sites/mysite/javascriptfile.js

または* nix:

/Users/meltemi/Sites/mysite/javascriptfile.js

理想的には、Web環境で開発し、サイトがローカルであるかライブサーバーであるかに関係なく、webrootに対して相対的なパスを使用できます。

/javascripts/javascriptfile.js

1
John Conde