簡體   English   中英

整理包含php和javascript文件的代碼

[英]Organising code that includes php and javascript files

我有一個網站,其中包含一個php庫文件和一個javascript庫文件。 我已將問題壓縮為以下文件:

index.php

<?php
  include('constants.php');
?>
<html>
  <head>
    <script type="text/javascript" src="lib.js"></script>
  </head>
  <body onload="javascript:show_const_1('<?php echo(CONST_TEXT); ?>');
                           show_const_2();">
    Some text here
  </body>
</html>

constants.php

<?php
  define('CONST_TEXT', 'Hello World');
?>

lib.js

function show_const_1(string)
{
  alert(string);
}

function show_const_2()
{
  alert('<?php echo(CONST_TEXT); ?>');
}

結果是,當頁面加載時,我得到兩個消息框。 第一個說“ Hello World”,第二個說“ <?php echo(CONST_TEXT);?>”。 第一個javascript方法可以實現我想要的功能,但是我將在網站的許多地方使用該函數,因此理想情況下,我不想每次都將常量作為參數傳遞。

有沒有一種好的方法來重新排列代碼以使第二個javascript方法正常工作?

簡單的答案是將“ lib.js”重命名為“ lib.php”。

您還應該添加

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

到文件頂部。

順便說一句,您應該使用json_encode()將文本輸出到javascript:

alert(<?php echo json_encode(CONST_TEXT); ?>);

而且“ javascript:”不屬於事件屬性(無論如何,它們都是過時的):

<body onload="doSomething();">

alert()的方法主體不是由PHP解釋的(它是由Javascript解釋的),因此您不能在其中放入PHP標記

暫無
暫無

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

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