我有一个名为 script.php 的文件,这是一些 php 和一些 javascript 混合在一起的。这个文件的mime类型被强制为javascript,所以这是一个普通的javascript文件,但扩展名为php.ini。
我正在尝试通过脚本函数将其插入到我的布局中。如果写:
echo $this->Html->script('rsravenna/script.php');
cakephp 会尝试插入 script.php.js,如何避免追加 .js?
我有一个名为 script.php 的文件,这是一些 php 和一些 javascript 混合在一起的。这个文件的mime类型被强制为javascript,所以这是一个普通的javascript文件,但扩展名为php.ini。
我正在尝试通过脚本函数将其插入到我的布局中。如果写:
echo $this->Html->script('rsravenna/script.php');
cakephp 会尝试插入 script.php.js,如何避免追加 .js?
的附加在HtmlHelper->script()函数中.js
是硬编码的。您的应用程序中是否有任何内容阻止您手动包含脚本?
<script type="text/javascript" src="myscript.php"></script>
否则,您可以扩展 HtmlHelper 以将变量ext
作为options
数组的一部分传递给HtmlHelper->assetUrl
.
您也可以反过来做,告诉您的服务器将特定文件夹中的 .js 文件解析为 php 以保留扩展名。如果您使用的是 apache,请将其放入您的.htaccess
:
AddType application/x-httpd-php .js
现在您应该能够将 myscript.php 重命名为 myscript.js 并且仍然可以对其进行解析。这将使您能够使用标准script()
功能。
我真的不清楚你想做什么。script 是一个 HTML Helper,用于包含 javascript 而不是 PHP。
您可以执行以下操作:
echo $this->Html->url('/rsravenna/script.php', true);
或者
echo $this->Html->url(array(
"controller" => "foo",
"action" => "bar",
"ext" => "php"
));
为什么要强制 MIME 类型为 .js ?