[英]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.