我想知道这个问题,因为我想要在单独的js文件中创建javascript代码或者通过PHP生成它,有人可以告诉我,如果它是通过PHP生成的不好的做法吗?
答案 0 :(得分:2)
它与生成HTML一样糟糕,所以没有 - 这样做很好。 但是,如果您的JavaScript永远不会更改,那么单独的文件将是理想的。
答案 1 :(得分:1)
虽然这不一定是不好的做法,但您应该不惜一切代价避免它,主要是以长期代码可维护性的名义。如果您不需要动态生成JavaScript,则不应该。
即便如此,当它确实需要动态生成时,大多数时候你只是生成动态变量。
编写静态javascript文件然后动态生成带变量的脚本标记是明智的决定。
示例:
<script type="text/javascript">
var message = "<?= $my_message ?>";
</script>
<script type="text/javascript" src="static-message.js" />
static-message.js包含:
alert("Your message: " + message);
这是有效的,因为在加载static-message.js文件之前会设置消息变量。
答案 2 :(得分:1)
如果我能帮忙,我不会。除非没有其他方法来处理它。想到了可维护性和测试能力。这是一个与语言无关的问题。你可能会用纯粹的解释语言来解决这个问题,但是如果你用编译/半编译语言做这样的事情,你可能会感到很痛苦。我投票支持尽量减少混合。如果你必须公开一个数据元素供JS工作,那么将JS的其余部分保存在一个单独的文件中。
答案 3 :(得分:0)
我经常使用PHP动态生成CSS文件。这允许您创建可以在多个项目之间共享的CSS样式表,但也包含与项目特定相关的自定义样式。
同样可以应用于其他资源。包括JavaScript,图像,PDF文档等。等。
使用PHP成功执行此操作的关键是应用正确的标头信息。包括浏览器应如何缓存响应。您可能还希望将脚本的输出缓存到临时文件。为了使将来对相同信息的请求更快加载。
答案 4 :(得分:0)
能够这样做非常方便,但我不建议纯粹从代码维护和代码清晰度的角度来看。另外一些编辑器对于具有服务器内容的JS代码也没有良好的智能感知。