我有几个PHP变量,我需要转移到JavaScript。目前,我的大部分PHP代码在页面加载后立即执行,在打开-html-标记之前执行。如果我使用echo在标签之前创建javascript变量,它们会被正确存储吗?有什么理由让我不想这么做吗?
在开始HTML标记之前分配JS变量可能没有任何问题,但如果不这样做,则使用的是一些真正不符合标准的浏览器。: -)
一般规则是,您在页面上定义的所有内容都应该在<head>
或<body>
中。其他所有内容都应该被视为错误,因为它没有定义行为。未定义的行为导致坏事。
如果你把它作为第一件事在<head>
,你应该很好,虽然
您应该将变量保存在内存中,直到<script>
标记在HTML标记中输出:
<?php
...
// I want to transfer: $my_var
?>
...
<html>
<head>
<script>
var php_var = <?php echo json_encode($my_var); ?>;
</script>
...
</head>
<body>
...
</body>
</html>
使用echo在html标记内的脚本标记内创建变量。你有什么问题?