gpt4 book ai didi

javascript - 将 PHP 变量发送到 JavaScript。 <script> 标签的位置?

转载 作者:行者123 更新时间:2023-11-28 15:29:23 38 4
gpt4 key购买 nike

我尝试过搜索,但找不到这个答案,因为它有点具体。

在 header.php(即网站的 header )内,包含一些脚本以便 jQuery 工作。除此之外,还有workscripts.js,其中包含我编写的脚本。设置如下:

<script type="text/javascript" src="<?=TEMPLATE?>js/workscripts.js"></script>
<script type="text/javascript"> var query = "<?=$_SERVER['QUERY_STRING']?>";</script>

在文件workscripts.js中有一个功能可以在点击链接时切换cookie。这是:

$(document).ready(function(){

/* View switch*/
$(document).ready(function(){
if($.cookie("display") == null){
$.cookie("display", "grid");
}

$(".grid_list").click(function(){
var display = $(this).attr("id");
display = (display == "grid") ? "grid" : "list";
if(display == $.cookie("display")){
//if the button is the same as the cookie
return false;
}else{
//if the button is different
$.cookie("display", display);
window.location = "?" + query;
return false;
}
});
});
/* View switch*/
});

它在 View 之间切换,并将其基本上设置为cookie
一切正常,我向您提出的问题是:为什么这有效,如果 workscripts.js是代码中的第一个,然后我们设置变量? JavaScript 是否作为一个整体工作,在哪里添加并不重要 <script></script> ?据我了解<script>的定位应该是相反的,首先我们设置一个变量 query 并发送它,然后我们包含 workscripts.js
另一个问题:为什么我们不能直接在包含workscripts.js的地方添加变量query ?如果我们在代码中包含 JavaScript 文件,我们就不能在标签之间写入任何内容吗?

最佳答案

在文档 ready 事件触发之前,workscripts.js 中的代码不会尝试访问该变量。

直到所有 HTML 都被解析后才会触发,因此所有脚本元素都将被解析并执行它们的脚本(尽管不一定是它们的所有函数)。

<小时/>

Why can't we add the variable query directly where we include workscripts.js? If we include a JavaScript file to the code, we can't write anything between the tags?

一个脚本元素只能加载一个脚本。如果它有 src 属性,它将从 URL 加载它。如果它没有脚本元素,它将从内联加载它。

关于javascript - 将 PHP 变量发送到 JavaScript。 &lt;script&gt; 标签的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946057/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com