2017-02-26 3 views
0

最近、私はCordovaについて知り、これがどのように動作するかを確認するテストプロジェクトを開始しました。問題は、私はjqueryのを含まれている場合、それは私にエラーを示すことである:

$ is not defined

htmlコードは次のようになります。

<!DOCTYPE html> 
<html> 
<head> 
    <!-- 
     Customize the content security policy in the meta tag below as needed. Add 'unsafe-inline' to default-src to enable inline JavaScript. 
     For details, see http://go.microsoft.com/fwlink/?LinkID=617521 
    --> 
    <!--My note:I added unsafe-inline--> 
    <meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 

    <meta name="format-detection" content="telephone=no"> 
    <meta name="msapplication-tap-highlight" content="no"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
    <link rel="stylesheet" type="text/css" href="css/index.css"> 

    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="scripts/platformOverrides.js"></script> 
    <script type="text/javascript" src="scripts/index.js"></script> 
    <script type="text/javascript" src="scripts/jquery.js"></script> 

    <!--<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
    <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>--> 

    <title>SchoolMusic</title> 
</head> 

<body style="background-color:coral "> 
    <canvas id="canvas"></canvas> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      console.log($(document)); 
     }); 

    </script> 
</body> 
</html> 

当初、私は「スクリプト/ jqueryの中に保存されたのjQueryのローカルバージョンを(使用しました.js "ファイル - 拡張バージョン)。それは働かなかった。それから、 "code.jquery.com"の "remote-online" jqueryコードでコードを試しました。同じエラーです。

セキュリティポリシーがいくつかの問題を引き起こす可能性があると思っていましたが(他のローカルスクリプトがcorectly:cordova.jsとindex.jsを読み込んだのを見ることができませんでした)私はまだこの方針を守りたい。問題は、ポリシーが使用されているときにファイルがロードされないのはなぜですか?そして、ポリシーでは、インターネットからロードする他のファイル(code.jquery.comなど)を許可するにはどうすればよいですか?

答えて

0

問題が修正されました。誤って置き換えられました。「default-src」から「unsafe-inline」への「self」引数を置き換えました。したがって、実際には、スクリプトはロードされませんでした(index.jsまたはcordova.jsさえも)。 最終的なコードは次のようになります。

<!DOCTYPE html> 
<html> 
<head> 
    <!-- 
     Customize the content security policy in the meta tag below as needed. Add 'unsafe-inline' to default-src to enable inline JavaScript. 
     For details, see http://go.microsoft.com/fwlink/?LinkID=617521 
    --> 
    <!--My note:I added unsafe-inline--> 
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 

    <meta name="format-detection" content="telephone=no"> 
    <meta name="msapplication-tap-highlight" content="no"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
    <link rel="stylesheet" type="text/css" href="css/index.css"> 

    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="scripts/platformOverrides.js"></script> 
    <script type="text/javascript" src="scripts/index.js"></script> 
    <script type="text/javascript" src="scripts/jquery.js"></script> 

    <!--<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
    <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>--> 

    <title>SchoolMusic</title> 
</head> 

<body style="background-color:coral "> 
    <canvas id="canvas"></canvas> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      console.log($(document)); 
     }); 

    </script> 
</body> 
</html> 
関連する問題