在js文件中使用php变量

时间:2013-05-24 03:50:45

标签: php cakephp

我有一个名为edit.ctp的视图文件和一个名为edit.js的js文件。 在edit.ctp上,我正在调用edit.js:

$this->Html->script('edit', array('inline' => false));

js文件被包含在内,所以我有一个问题就是使用像这个答案的this answer

这样的php标记

可能是因为.js文件无法接受php makups。

那么在js文件上使用php标记的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

另一种方法是全局声明变量,并从页面加载后运行的onload事件中设置它:

<script>

var your_variable;

function init() {
  your_variable = document.getElementById('xxx1');
}

</script>

<body onload="init();">

请告诉我是否可以为您提供更多帮助。

答案 1 :(得分:0)

您可以做的一件事就是将js文件的名称更改为edit.php如果您这样做我会确保包括:

<?php header("Content-Type: application/javascript"); ?>

虽然可能没有严格要求,但我认为这是一个很好的做法。

你的其他选择是改变你的服务器配置过滤器所有js通过PHP(从性能的角度来看......可能不是一个好主意)

希望这有帮助。