TLDR:如何识别<jdoc:include type="head" />
来电添加的内容?
为了避免为朋友/家人做另一个网站,这次我在AWS上设置了Joomla 3的副本,移交了信用卡,并认为“工作做得好”......更加愚弄我。
以某种方式 Joomla的配置方式是抛出JS Exception。具体来说,某些东西试图调用jQuery并获得未定义的错误。请注意,在带有错误的行之后,会调用jQuery.noConflict();
。
毋庸置疑,有问题的人并不真正知道他们做了什么,因为他们正在按照指南添加他们无法再找到的联系表格。
已经有了话语。的着重
如何跟踪哪个插件/扩展程序/模板在输出中添加了特定行?
违规脚本被直接转储到主页面,没有链接,并且是半缩小的。
我希望它出现在外部脚本文件之后,就在看起来像会话保持活动的Ajax请求之前将是一个足够好的指针。
脚本的美化版本看起来像这样......
jQuery(window).on('load', function() {
new JCaption('img.caption');
});
jQuery(document).ready(function() {
jQuery('.hasTooltip').tooltip({
"html": true,
"container": "body"
});
});
jQuery(document).ready(function() {
jQuery('.hasPopover').popover({
"html": true,
"trigger": "hover focus",
"container": "body"
});
});
jQuery.noConflict();
$(document).ready(function() {
$("#contact-form").validate({
rules: {
/* Lots of validation rules */
},
highlight: function(label) {
$(label).closest(".control-group").addClass("error");
},
success: function(label) {
label.addClass("valid").closest(".control-group").addClass("success");
}
});
});
window.setInterval(function() {
var r;
try {
r = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")
} catch (e) {}
if (r) {
r.open("GET", "./", true);
r.send(null)
}
}, 840000);
看起来它正在尝试验证联系表单,因此可能是罪魁祸首,但网站上没有一个(至少没有一个工作/可见)。
在该块之后是对主页的非jQuery Ajax请求(每14分钟?)我认为这是某种形式的会话保持活动状态。具有讽刺意味的是,这不依赖于jQuery。
我查看了模板的component.php
,整个部分似乎是通过<jdoc:include type="head" />
链中的下一个链接是什么?我看不到任何指定head
包含的内容的文件或xml块。
答案 0 :(得分:1)
关于错误:
您可以阅读javascript无效的原因here。
所以在那里你会找到修复。
关于如何查找文件:
只需在以下文件夹中搜索$("#contact-form")
:
components/
modules/
templates
它有一个模块,所以它可能对你的调查很有用,你可以跟踪这个错误是在每个页面中还是仅在某些页面中。
如果它在所有页面中,那么该文件可能位于templates
或组件文件夹中,否则它就是一个模块。
如果是模块,您只需要进入后端并检查页面中已启用的模块。
我希望它会有用。