Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除已加载的第二个javascript实例_Javascript_Php_Instance - Fatal编程技术网

删除已加载的第二个javascript实例

删除已加载的第二个javascript实例,javascript,php,instance,Javascript,Php,Instance,在我的“头脑”中,有两个javascript实例正在Joomla中加载 第一个来自模板。 第二个来自一个组件 我需要删除第二个实例,如下所示: <!-- keep this one --> <script src="//code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script> <!-- remove this one --> <script src="//c

在我的“头脑”中,有两个javascript实例正在Joomla中加载

第一个来自模板。 第二个来自一个组件

我需要删除第二个实例,如下所示:

<!-- keep this one -->
<script src="//code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>

<!-- remove this one -->
<script src="//code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
如何使用PHP实现这一点

编辑:

我可以这样做吗?不是一个php的家伙,我可以删除第二个实例吗

$string='<script src="//code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>' ;

$string_array=explode(",","$string");

$output[]=$string_array[0];

for($i=1;$i<count($string_array);$i++){
if(!in_array($string_array[$i],$output)){
$output[]=$string_array[$i];
}
}
print implode(",",$output);

这里需要注意的第一点是,这两个代码都写得不是特别好——它们都会在相当长的时间内阻止html加载,即使它是从本地缓存获取的。使用CMS的一个主要原因是,为了提高性能,您可以尽量减少对HTML以外资源的调用次数

我可以这样做吗

是的,但是您需要启用输出缓冲,并在正确的位置将其挂接到代码中,这比更改插件/模板更需要维护

或者,您可以将其实现为一个Apache输出过滤器,但目前无法将fastCGI或mod_php作为输出过滤器调用。您可以实现一个简单的HTTP代理脚本作为请求的端点,并在那里重写HTML


合并请求的工具(如mod_pagespeed)可能会自动删除重复的请求,尽管没有说明如何处理这种情况。

从组件中删除行。首先检查组件或模板是否有不包含库的选项。否则,请手动从组件中删除注释或删除行号。。。该组件没有开关。我想用一些PHP正则表达式或其他东西来实现这一点,因为它可能会再次出现&我不想编辑组件并删除脚本,因为它将在更新时被替换。