【发布时间】:2010-06-25 22:51:10
【问题描述】:
大家好,我在尝试构建的网站时遇到问题;基本上我有一个从我的头文件中调用的类,它加载所有的链接和脚本标签。链接标签显示在所有浏览器中,但脚本标签仅显示在 safari 和 chrome 中,它们不显示在 firefox 或 IE 中。
<script type='text/javascript' src='...'>
现在我尝试删除标签前面的“
所以这就是 php.ini 中发生的事情。我的 header.php 文件调用位于 cms.php 中的 cms 对象函数,这些函数调用我的 system.php 文件中的其他函数.
现在,链接标签又一次正常工作,我用完全相同的方式称呼它们……它只是愚蠢的脚本标签。当我调用 load_js("config");在我的 header.php 中的函数它也会加载多个标签。如果它只是 1 个标签,我会将脚本标签放在 html 中而不是 php 中,但是当我生成多个标签时,我认为我不能这样做。
任何帮助都会很棒!也提前致谢!
header.php
<?php echo $this->load_css("config"); ?>
<?php echo $this->load_js("config"); ?>
cms.php
function load_js($name){
// ...
return header_script($name.".js");
// ...
}
function load_css($name){
// ...
return header_link($name.".css");
// ...
}
system.php
function header_script(){
// 0 = src
$num = func_num_args();
if($num == 0){
return;// if no arguments, can't successfully build header_script.
}
if($num == 1){
return "<script type='application/javascript' src='".func_get_arg(0)."'></script>\n";
}
}
function header_link(){
$num = func_num_args();
// 0 = rel
// 1 = type
// 2 = href
if($num < 3){
return; // can't successfully build link.
}
if($num == 3){
return "<link rel='".func_get_arg(0)."' type ='".func_get_arg(1)."' href='".func_get_arg(2)."' />\n";
}
}
【问题讨论】:
-
您能否显示在您的浏览器中生成的准确的 HTML 代码,包括完整路径?整个
head部分将是完美的。 -
从您提供的有限代码来看,您似乎遇到了 header_script 中的 if($num == 0) 情况。还有其他调用该函数的行吗?
-
@allyourcode 为什么?
num是传递给函数的参数数量。他在 header.php 调用中传递了一个参数 -
这到底是怎么回事?形参是从什么时候跳上鲨鱼的?
-
@Justin 是的,这是非常不正统的。而且很难在 IDE 中查找,这就是我不这样做的原因。
标签: php firefox internet-explorer