从内联 html 页面访问外部 JS 变量?
Accessing external JS variable from inline html page?
如何从 HTML 页面中的外部 JavaScript 访问变量?
在我的外部 JavaScript 文件 (init.js) 中,我创建了一个变量调用:
var myMessage="Hello World";
在我的 HTML 页面中包含 init.js 但是当我尝试提醒它时:
alert(myMessage);
它给我一个错误。
Sample code here
可以通过make调用外部js变量
var init={
myMessage="Hello World";
}
调用您的 html 代码
alert(init.myMessage);
您的 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
如何从 HTML 页面中的外部 JavaScript 访问变量?
在我的外部 JavaScript 文件 (init.js) 中,我创建了一个变量调用:
var myMessage="Hello World";
在我的 HTML 页面中包含 init.js 但是当我尝试提醒它时:
alert(myMessage);
它给我一个错误。 Sample code here
可以通过make调用外部js变量
var init={
myMessage="Hello World";
}
调用您的 html 代码
alert(init.myMessage);
您的 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