Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP动态生成JavaScript_Php_Javascript - Fatal编程技术网

使用PHP动态生成JavaScript

使用PHP动态生成JavaScript,php,javascript,Php,Javascript,我通常包括如下javascript: <script type="text/javascript" src="js/somejs.js"> 有没有这样的方法: <script type="text/javascript" src="js/somephp.php?js=somejs"> 因此,PHP脚本回显一个自定义生成的字符串或请求名称的文件 如果这是可能的,那么基本的php语法应该是怎样的呢 提前谢谢。是的,有可能。脚本标记不关心它指向的URL是否以“.js

我通常包括如下javascript:

<script type="text/javascript" src="js/somejs.js">

有没有这样的方法:

<script type="text/javascript" src="js/somephp.php?js=somejs">

因此,PHP脚本回显一个自定义生成的字符串或请求名称的文件

如果这是可能的,那么基本的php语法应该是怎样的呢


提前谢谢。

是的,有可能。
脚本
标记不关心它指向的URL是否以“.js”结尾。如果你把它指向某个可以提供有效javascript的URL,那么不管该URL是以“.js”或“.php”结尾还是其他任何形式结尾,不管服务它的机制是你的apache服务器直接从文件系统提供文件、php文件回显javascript还是其他任何你喜欢的东西,你都很好


如果您决定通过PHP回传JavaScript来提供服务,那么为了简洁和正确,您应该通过调用
header('content-type:application/JavaScript')将内容类型header设置为'application/JavaScript'分别为。

是的,这是可能的。
脚本
标记不关心它指向的URL是否以“.js”结尾。如果你把它指向某个可以提供有效javascript的URL,那么不管该URL是以“.js”或“.php”结尾还是其他任何形式结尾,不管服务它的机制是你的apache服务器直接从文件系统提供文件、php文件回显javascript还是其他任何你喜欢的东西,你都很好


如果您决定通过PHP回传JavaScript来提供服务,那么为了简洁和正确,您应该通过调用
header('content-type:application/JavaScript')将内容类型header设置为'application/JavaScript'正如@Mark Amery所说的,它可以按照您所展示的那样完成,但您可能应该包括

header('Content-Type: application/javascript');
即使没有它,它也很可能在所有浏览器中工作,但浏览器会默默地抱怨它

例如,如果您不包括
标题
部分,Chrome会在控制台中抛出此选项:

解释为脚本但使用MIME类型text/plain传输的资源


正如@markamery所说,它可以像您所展示的那样完成,但您可能应该包括

header('Content-Type: application/javascript');
即使没有它,它也很可能在所有浏览器中工作,但浏览器会默默地抱怨它

例如,如果您不包括
标题
部分,Chrome会在控制台中抛出此选项:

解释为脚本但使用MIME类型text/plain传输的资源


StackOverflow不是这个问题的合适位置。我们不会为您编写代码。你需要自己编写代码,如果你不确定为什么有些东西不能按预期工作,那么在发布代码时解释一下你期望它做什么,以及它实际在做什么,包括所有错误消息。请看。@JonathanKuhn的可能副本:我不想尝试,因为我不知道如何从中返回这样的文件server@JohnConde:对不起。下次我会按照你的建议去做。谢谢你的建议。StackOverflow不是这个问题的合适位置。我们不会为您编写代码。你需要自己编写代码,如果你不确定为什么有些东西不能按预期工作,那么在发布代码时解释一下你期望它做什么,以及它实际在做什么,包括所有错误消息。请看。@JonathanKuhn的可能副本:我不想尝试,因为我不知道如何从中返回这样的文件server@JohnConde:对不起。下次我会按照你的建议去做。感谢您的建议。还建议将php中的内容类型标题设置为text/javascript。您也可以使用此技巧来提供CSS。@bfavaretto True,并添加到我的答案中。(尽管据我所知,浏览器都会忽略
脚本
标记指向的内容类型,因此没有任何实际效果的上下文?@bfavaretto
“application/javascript”
@ithcy Nice链接,谢谢!还建议将php中的内容类型标题设置为text/javascript。您也可以使用此技巧来提供CSS。@bfaretto True,并添加到我的答案中。(尽管据我所知,浏览器都会忽略
脚本
标记指向的内容类型,因此没有任何实际效果的上下文?@bfavaretto
“application/javascript”
@ithcy Nice链接,谢谢!