从内联html页面访问外部JS变量?

时间:2016-03-18 05:39:56

标签: javascript variables external inline

如何从HTML页面中的外部JavaScript访问变量?

在我的外部JavaScript文件(init.js)中,我创建了一个变量调用:

var myMessage="Hello World";

在我的HTML页面中包含init.js,但是当我尝试提醒它时:

alert(myMessage);

它给了我一个错误。  Sample code here

2 个答案:

答案 0 :(得分:2)

您可以通过制作

来调用外部js变量
var init={
myMessage="Hello World";
}

调用你的HTML代码

alert(init.myMessage);

答案 1 :(得分:1)

您的codepen示例不包含作为外部文件的代码,但内部因此存在问题,但通常您需要等待页面和所有元素完成加载。

下面的示例将等待1000毫秒或1秒,然后您将看到警报将显示变量。

 <div>
 Body content
 </div>
 <script>
   setTimeout(function() {
   alert(myMessage);  
   },1000);
 </script>

更好的方法当然是使用jQuery的

    $('document').ready(function(){  });

而不是计时器,因为你无法确定1秒就足够了。连接可能很差,加载所有页面可能需要更多。

如果你不想使用jQuery,那么也可以采用vanilla JS的方式来实现它。

pure JavaScript equivalent to jQuery's $.ready() how to call a function when the page/dom is ready for it