将php插入js文件

时间:2012-11-08 00:35:46

标签: php javascript image

我的网站上有一个加载gif的画廊。在我的js文件中,我有这个代码来显示加载器:

image: $("<img src='images/loading.gif'/>"),

目前此图片未显示,因为我没有放置完整的图像路径。但我不想放完整个图像路径,而是愿意这样做:

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

但我无法弄清楚如何在我的js文件中使这个php工作。我该如何以最简单的方式去做?

5 个答案:

答案 0 :(得分:1)

我更喜欢..

1)在我的标题中包含(php包含任何&lt; head&gt;数据),写一个小的 内联JS函数,它创建一个包含我需要的任何变量的全局对象(PHP)。我可以在这里使用'echo'和'json_encode'函数,因为它在php文件中的内联JS片段中。

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

两者基本上都做同样的事情,除了2你使用AJAX,这将添加一个额外的请求。我更喜欢选项1,因为它与页面执行一起完成。选项2可能要求您等到DOM准备就绪,具体取决于程序的各个方面(我无法分辨)。

选项1需要内联JS,但你真的不应该对此有所了解,因为动态网站实际上可以是一个加号,因为它简洁明了。有些人对其他人有关于内联JS的看法。不要让他们对你大喊大叫。

答案 1 :(得分:0)

我不完全确定你要做什么。但是如果那个JS不工作,为什么不包括一个php文件,或者只是在头文件中写一些php,其中包含了'echo()'中的JS。即:

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

如果我误解你的意图,请纠正我。

答案 2 :(得分:0)

您不能将PHP代码直接放入.js文件中,但在包含javascript文件之前,您可以在PHP文件的head元素中添加一些javascript。

在这个javascript中,您可以使用PHP定义变量并为其分配数据。然后可以从javascript文件中访问这些变量。

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

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

答案 3 :(得分:0)

用于将PHP数据传递给JavaScript的更清晰技术是将数据存储在data attributes中,然后您可以通过JavaScript访问这些数据。举个简单的例子:

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

你可以在jQuery中访问它:

var home = $('body').attr('data-home-url');

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

答案 4 :(得分:0)

你可以创建一个php文件(你的js文件包含你在js文件中已经拥有的所有代码+对php变量/函数的引用),并将其包含在你的主php文件中。

示例html:

<?php $example = 23; ?>
<html>
<head><title></title>
<script type="text/javascript">
<?php include('js.php'); ?>
</script>
</head>
<body></body>
</html>

js.php:

var a = <?= $example ?>;
alert(a);

最终会输出:


<html>
<head><title></title>
<script type="text/javascript">
    var a = 23;
    alert(a);
</script>
</head>
<body></body>
</html>