0

我有一个名为 script.php 的文件,这是一些 php 和一些 javascript 混合在一起的。这个文件的mime类型被强制为javascript,所以这是一个普通的javascript文件,但扩展名为php.ini。

我正在尝试通过脚本函数将其插入到我的布局中。如果写:

echo $this->Html->script('rsravenna/script.php'); 

cakephp 会尝试插入 script.php.js,如何避免追加 .js?

4

2 回答 2

1

的附加在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()功能。

于 2012-08-22T20:50:46.920 回答
0

我真的不清楚你想做什么。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 ?

于 2012-08-20T21:24:14.057 回答