簡體   English   中英

我可以在js文件中顯示php echo嗎?

[英]Can I Make an php echo show up in a js file?

我有一個.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'}] 
});

});

我想知道是否可以將這樣的php行代替“ images / 2.jpg”行之一顯示一組圖像?

可能的解決方法:

  • 使用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中的內聯元素將數據放入變量中,並使用外部靜態.js文件進行提取。
  • 將文件另存為.php而不是.js並:

在您的PHP文件中:

Header("content-type: application/javascript");

然后將您的文件鏈接為:

<script type="text/javascript" src="youfile.php"></script>

您可以通過以下方式做到這一點:

  1. 執行一個生成您的js腳本的php腳本
  2. 進行ajax調用以獲取要在js上使用的信息

您確實可以,但是必須將文件命名為.php。

然后,您可以運行代碼並將輸出更改為Content-type的JavaScript。

header('Content-type: text/javascript');

好吧,JavaScript只是文本,瀏覽器無法讀取它。 PHP可以打印文本,所以答案是肯定的。 不過,問題主要取決於您可以修改什么。 如果您要在JS文件中定義幻燈片,如此處所示,可能會有所不同。 但是,如果您只是在JS文件中定義幻燈片顯示代碼 ,並在嵌入式腳本中聲明“ slides”對象,則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文件攔截請求,但那時我感覺它會變得混亂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM