使用 php 我打印了 <script>
标签和一些 JavaScript 行。它发挥了应有的作用。
我正在打印的脚本包括从我正在使用的库生成一些对象。但是,当我想根据某些条件执行此操作时,在本例中,for 循环我无法使其工作。
这是我首先尝试的代码:
<?php
$teacher1 = "teacher1";
echo "
<canvas id=\"lienzoGrafo\" width=\"800\" height=\"600\"></canvas>
<script languaje=\"javascript\" type=\"text/javascript\" charset=\"UTF-8\">
var grafo = arbor.ParticleSystem({repulsion: 3000, friction:.1, stiffnes:900, gravity:true});
grafo.renderer = Renderer('#lienzoGrafo')
var teacher1 = grafo.addNode(\"$teacher1\",{color:'blue',width:100, shape:'dot',label:\"$teacher1\"})
从最后一行代码可以看出,我实际上使用了 php 变量来完成脚本打印。
但是,当我尝试使用循环来完成循环时,我无法让它工作。
这是我尝试过的:
<?php
$teacher1 = "teacher1";
echo "
<canvas id=\"lienzoGrafo\" width=\"800\" height=\"600\"></canvas>
<script languaje=\"javascript\" type=\"text/javascript\" charset=\"UTF-8\">
var grafo = arbor.ParticleSystem({repulsion: 3000, friction:.1, stiffnes:900, gravity:true});
grafo.renderer = Renderer(\"#lienzoGrafo\")";
for ($i=0; $i < 5; $i++) {
echo "grafo.addNode(\"teacher\".$i,{color:'blue',width:100, shape:'dot',label:\"teacher\".$i})";
}
echo "</script>";
?>
但我无法让任何东西正常工作,浏览器控制台输出:
Uncaught SyntaxError: Unexpected identifier localhost/:19
但是我的index.php
有</html>
标记位于第 19 行。
我认为问题是 html 脚本语句一起呈现
grafo.renderer = Renderer("#lienzoGrafo")grafo.addNode("teacher0",{color:'blue',width:100, shape:'dot',label:"teacher0"})grafo.addNode("teacher1",{color:'blue',width:100, shape:'dot',label:"teacher1"})grafo.addNode("teacher2",{color:'blue',width:100, shape:'dot',label:"teacher2"})grafo.addNode("teacher3",{color:'blue',width:100, shape:'dot',label:"teacher3"})grafo.addNode("teacher4",{color:'blue',width:100, shape:'dot',label:"teacher4"})</script>
最佳答案
在 for 循环中更改此行...
echo "grafo.addNode(\"teacher" . $i . "\",{color:'blue',width:100, shape:'dot',label:\"teacher" . $i . "\"})";
关于javascript - 如何用php动态打印html脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20220498/