0

別のサーバーからWebページにvarを呼び出してjsでアクセスできるように、jsのグローバルスコープを理解しようとしていますが、この単純なテストは機能していません。

リモート php スクリプト 'remotescript.php' には以下が含まれます。

<script language='javascript' type='text/javascript'>
window.myValue=5;
</script>

ローカルページには以下が含まれます:

<div class='widget-content'>
<script language='javascript' src='remotescript.php' type='text/javascript'>
</script>
hi!
</div>
<script language='javascript' type='text/javascript'>
alert(window.myValue);
</script>

アラートに「未定義」が表示されます。

私が間違っていること、またはこれがうまくいくかどうかの手がかりはありますか?
チビミア

4

1 に答える 1

4

アップデート:

外部スクリプト remotescript.php は、<script>内部にタグがあるため機能しません。タグを削除して、JavaScript コードのみを含める必要があります。したがって、単純な例では、remotescript.php に次の行だけを含める必要があります。

window.myValue=5;

または、次を使用できますvar

var myValue = 5;

language='javascript'(スクリプト要素のいずれも必要ないことにも注意してください。)

質問の元のバージョンからの元の回答:

外部スクリプトへのリンクである script 要素内に JS ステートメントを含めると、機能しません (これは、変数の作成だけでなく、すべてのステートメントに適用されます)。外部スクリプトを閉じてから、新しいスクリプト要素を開始します。

<div class='widget-content'>
<script language='javascript' src='http://example.com/files/blockip.php' type='text/javascript'></script>
<script>
var myValue=5;
</script>
hi!
</div>
<script language='javascript' type='text/javascript'>
alert(myValue);
</script>

外部ファイルでグローバルを宣言すると、それも機能します。それらがグローバルである場合、複数のスクリプトが互いの変数にアクセスできます。

于 2013-11-04T20:10:02.280 に答える