0

外部の JavaScript ページで変数のスコープを理解するのに非常に単純な問題があります。外部シートを呼び出すと読んだことから、すべてのグローバル関数と変数にアクセスできるはずです。私はそれを機能させることができないようです。検索するための適切な質問を知ることは難しい部分であり、おそらく誰かが簡単かつ迅速に説明できる問題を見つけるために、何日もインターネットをくまなく調べることができました. このチュートリアルhttp://www.tizag.com/javascriptT/javascriptexternal.phpで似たようなものを見たことがあります。スタックをすばやく検索すると、JavaScript の変数のスコープは何ですか? これを書いているときでさえ、私は答えを探しています。

同じディレクトリに外部シートがあり、ファイル名はtrial.jsです。次に、外部のtrial.jsからインデックスページへのグローバル関数を使用しようとするだけのindex.htmlがあります。これは可能ですか?ボタンのonclick属性の関数を使用したtizagチュートリアルによると。また、多くのフレームワークもこの原則に基づいて機能していますよね? $(a)<~~~references?? を使用すると、もう少し洗練されていることはわかっていますが か何か。誰の助けにも感謝します。引き続き調べますが、インターネットが役立つことを願っています!!

localhost/trial.js:

function trySomething(){
    alert("trying");
}

ローカルホスト/index.html:

<html>
<head>
<title>Objects222</title>
<script src="trial.js"></script>
</head>
<body>
    <script type="text/javascript">
        trySomething();
    </script>
    Hello
</body>
</html>

もともとはリソースにありましたが、もっとシンプルにしたかったのです。firefox と chrome を使用してもうまくいきませんか??? ページの読み込み時に機能していると言う人は、「試行中」というアラートを受け取りますか? なぜローカルで機能しないのか、誰にでもアイデアがあります。すべてのキャッシュをクリアし、名前を変更してアップロードを強制しようとしました。また、Chrome、Firefox、および IE を使用しても、ロード @ localhost でアラートは表示されません。

4

3 に答える 3

0

確かではありませんが、「リソース」の前に / を付ける必要はないと思います。元。「Resources/myscript」が機能します。また、「trial.js」が「index.html」と同じディレクトリにある場合、「Resources/」は必要ありません。

于 2013-01-08T01:15:17.970 に答える
0

これを Apache でテストしたところ、外部 JavaScript ファイルが resource というフォルダー内にあると仮定すると、正常に動作します。

于 2013-01-08T01:16:18.640 に答える
0

これは問題ないように思われるので、コードをコピーしてテストしましたが、うまくいきました。私が行った 1 つの変更は、スクリプト src の最初のスラッシュを削除することでした。これは、"resource" フォルダーがサイトのルートにないためです。あなたのjsファイルは確実にロードされていますか?

于 2013-01-08T01:20:58.763 に答える