我有一个.js文件,它有一个很好的幻灯片放映布局,下面是一些代码:
slide_links:'false',//Individual links for each slide (Options: false, 'num', 'name', 'blank')
slides:[{image:'images/2.jpg', title:'Image Credit: John Doe'},
{image:'images/3.jpg', title:'Image Credit: John Doe'},
{image:'images/4.jpg', title:'Image Credit: John Doe'},
{image:'images/5.jpg', title:'Image Credit: John Doe'},
{image:'images/6.jpg', title:'Image Credit: John Doe'}]
});
});
我想知道我可以用一行像这样的一行来代替'images / 2.jpg'中的一行来展示一组图像吗?
答案 0 :(得分:3)
可能的解决方法:
使用htaccess规则在JS文件中运行PHP,如下所示:
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
使脚本内联到一些php文件
在您的PHP文件中:
Header("content-type: application/javascript");
然后将您的文件链接为:
<script type="text/javascript" src="youfile.php"></script>
答案 1 :(得分:1)
你可以通过以下方式做到:
答案 2 :(得分:1)
您确实可以,但您必须将文件命名为.php。
然后,您可以运行代码并使用Content-type将输出更改为JavaScript。
header('Content-type: text/javascript');
答案 3 :(得分:1)
嗯,Javascript只是在浏览器读取之前的文本。 PHP可以打印文本,所以答案是肯定的。但问题很大程度上取决于你可以修改的内容。如果您在JS文件中定义幻灯片,如此处所示,它可能会更加分散。但是,如果您只是在JS文件中定义幻灯片代码,并在内联脚本中声明“幻灯片”对象,那么PHP就更容易更改它。这不是你问的问题,但它只是一个可能的设计建议,可能会更清洁。一个非特定的例子,告诉你如何做到这一点:
<script src="lib_slideshow.js"></script>
<script type="text/javascript">
var slides = [{image:'images/2.jpg', title:'Image Credit: John Doe'},
<?php
echo "{image:'images/customPHPDeterminedImage.jpg', title: 'Image Credit: PHP'},";
?>
{image:'images/3.jpg', title:'Image Credit: John Doe'},
{image:'images/4.jpg', title:'Image Credit: John Doe'},
{image:'images/5.jpg', title:'Image Credit: John Doe'},
{image:'images/6.jpg', title:'Image Credit: John Doe'}];
libSlideshow.setup(slides);
</script>
可能有另一种可能的方法涉及通过PHP文件重写JS,可能是通过使用.htaccess
文件拦截请求,但此时我觉得它会变得混乱。