我有一个名为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标记的最佳方法是什么?
答案 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(从性能的角度来看......可能不是一个好主意)
希望这有帮助。