Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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插入js文件_Php_Javascript_Image - Fatal编程技术网

将php插入js文件

将php插入js文件,php,javascript,image,Php,Javascript,Image,我的网站上有一个正在加载的gif图片库。在我的js文件中,我有以下代码来显示加载程序: image: $("<img src='images/loading.gif'/>"), 图像:$(“”), 目前这张图片没有出现,因为我没有把完整的图片路径。但是,我宁愿这样做,而不是放置完整的图像路径: <img src="<?php bloginfo('url');?>/images/loading.gif”> /images/loading.gif> 但是我

我的网站上有一个正在加载的gif图片库。在我的js文件中,我有以下代码来显示加载程序:

image: $("<img src='images/loading.gif'/>"),
图像:$(“”),
目前这张图片没有出现,因为我没有把完整的图片路径。但是,我宁愿这样做,而不是放置完整的图像路径:

<img src="<?php bloginfo('url');?>/images/loading.gif”>
/images/loading.gif>

但是我不知道如何让这个php在我的js文件中工作。我怎样才能用最简单的方法来做呢?

我不完全确定你想做什么。但是如果JS不起作用,为什么不包括一个php文件,或者只是在头文件中编写一些php,在“echo()”中包含JS呢。即:

echo('?>/images/loading.gif)/>我更喜欢

1)在我的头文件include(包含任何数据的php include)中,写一个小的 内联JS函数,用于创建包含服务器(PHP)所需的任何变量的全局对象。我可以在此处使用“echo”和“json_encode”函数,因为它位于PHP文件的内联JS片段中

2)您可以在JS文件中编写一个JS函数,使用AJAX调用PHP文件,该文件将返回与数字1相同的JSON编码数据,然后解析该数据并将其分配给全局变量

两者基本上都做相同的事情,除了2之外,您使用的是AJAX,它将添加一个额外的请求。我更喜欢选项1,因为它是在页面执行时完成的。选项2可能要求您等待DOM准备就绪,这取决于您程序的各个方面(我不知道)


选项1需要内联JS,但你真的不应该对此喋喋不休,因为对于动态网站来说,它实际上是一个加号,因为它简短明了。有些人会对其他人谈论内联JS。不要让他们对你大喊大叫。

你不能将PHP代码直接放在.JS文件中,但你可以在头部元素中包含一些javascript在包含javascript文件之前,使用r PHP文件

<head>
    <script type='text/javascript'>
       var _g_bloginfo = "<?php echo '...'; ?>";
    </script>

    <script type='text/javascript' src='javascript.js'></script>
</head>
在这个javascript中,您可以定义变量并使用PHP将数据分配给它们。然后可以从javascript文件内部访问这些变量

<head>
    <script type='text/javascript'>
       var _g_bloginfo = "<?php echo '...'; ?>";
    </script>

    <script type='text/javascript' src='javascript.js'></script>
</head>

var_g_bloginfo=“”;

将PHP数据传递给JavaScript的一种更干净的方法是存储数据,然后通过JavaScript进行访问。举个简单的例子:

<body data-home-url="<?php echo home_url(); ?>">

仅供参考,您可以使用它将PHP对象/数组转换为JSON对象,您可以通过或读取。WP实际上可以为您执行此操作,但请注意,在这种情况下,它会将转换后的数据公开给。

您可以改为创建一个PHP文件(包含js文件中已有的所有代码+对php变量/函数的引用)并将其包含在主php文件中

html示例:

js.php:
var a=;
警报(a);
最终将输出:

var a=23;
警报(a);

您是否在
bloginfo
函数中使用了
echo
回音功能?@untiless
bloginfo
回音,
获取bloginfo
返回
var home = $('body').attr('data-home-url');
<?php $example = 23; ?>
<html>
<head><title></title>
<script type="text/javascript">
<?php include('js.php'); ?>
</script>
</head>
<body></body>
</html>
var a = <?= $example ?>;
alert(a);
<html>
<head><title></title>
<script type="text/javascript">
    var a = 23;
    alert(a);
</script>
</head>
<body></body>
</html>