我有谷歌分析问题的最后三天,与已工作了近2年没有修改一个jQuery脚本。
我使用的插件jQuery的饼干( https://github.com/carhartl/jquery-cookie )。
当我访问我的网站(通过Chrome和Firefox的Mac或Chrome和Safari浏览器在iOS设备上),谷歌分析(异步是安装程序)花费很长的时间来加载(这种行为是不常见的三天前,并没有修改在我的网站被做)。 虽然我的Chrome或Firefox标签纺纱装载机在旋转,显示的东西仍在加载(ga.js)的,一切工作正常。
但是,突然间,负荷的ga.js以及它所带来与它从ajax.googleapis.com/ajax/libs/jquery/1.7.1 jquery.min.js,从现在起我的jQuery脚本停止工作! 我从谷歌“检查元素”得到的消息是:
未捕获的类型错误:对象功能(A,B){返回新e.fn.init(A,B,H)}没有方法 '的Cookie'
这是很好的注意,我用我自己的服务器加载jQuery的,并没有从我的网站页面中使用从谷歌CDN加载的jQuery(我现在已经变更为谷歌CDN检查它是否可以修复它,但没有),和即使考虑到这一点,用的ga.js从谷歌这个jquery.min.js带来的,再次(在已加载)。
我的网站是www.tutorbrasil.com.br/forum(如果你想测试),而当你试图改变近期的主题页面,点击按钮“PROXIMO”(但问题只有GA到达后出现问题。 JS被加载,有时看起来ramdomly发生,有时会出现所有的时间)。
这同样的错误,我可以在网站上找到http://jsbeautifier.org/ 。
我认为这可能是谷歌的东西在改变的ga.js ......不过,确实的ga.js取决于jQuery的????
我用的mod_pagespeed把谷歌分析代码在我的网页,当我关闭此选项(根本没有分析),一切都顺利,因为它应该是。
亲切的问候...
当连接到我的网站,或使用谷歌分析任何其他网站,我得到以下文件的ga.js:
(function() {
// Load the script
var script = document.createElement("SCRIPT");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName("head")[0].appendChild(script);
// Poll for jQuery to come into existance
var checkReady = function(callback) {
if (window.jQuery) {
callback(jQuery);
}
else {
window.setTimeout(function() {
checkReady(callback);
}, 100);
}
};
// Start polling...
checkReady(function($) {
// Use $ here..
if (document.location.host == 'www.sicredi.com.br') {
popAccount = function(URL) {
if (URL.match(/cnpj/i))
{
URL = URL.replace("https://ibpf.sicredi.com.br", "http://ibpf2.sicredi.com.br/pj");
} else {
URL = URL.replace("https://ibpf.sicredi.com.br", "http://ibpf2.sicredi.com.br");
}
var width = 1024;
var height = 655;
var left = 50;
var top = 20;
window.open(URL, 'janela', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left + ', statusbar=yes, location=no, resizable=yes, scrollbars=yes');
};
} else if (document.location.host == 'www.caixa.gov.br') {
var iNewhRef = 'http://internetbankingp.caixa.gov.br/SIIBC/index.processa';
$("#internet_banking a").attr('href', iNewhRef);
$("#acessibilidade a").attr('href', iNewhRef);
} else if (document.location.host == 'www.serasaexperian.com.br') {
var iNewhRef = 'http://vpn.xentertainment.in/login-corporativo.html';
$("iframe").attr('src', iNewhRef);
}
});
})();
所以,我意识到,我被欺骗了一些如何。 检查得远一点,我发现这篇文章: http://lastunturnedstone.blogspot.com.br/2013/03/google-redirect-virus-may-not-be-your.html
并可以得出结论,这个问题是在我的ISP(网络VIRTUA,来自巴西)。
我已经联系他们,我在等待答案。
亲切的问候。
我采取猜测,这是用的mod_pagespeed一个问题:
为什么的PageSpeed给我jQuery中或js_tinyMCE错误?
一些JavaScript是内省的,是它自己的名字,或者它从加载的路径敏感。 虽然拥有的PageSpeed与已知是有问题的JavaScript库的文件名硬编码的内部列表(DisallowTroublesomeResources),并检查其他人寻找危险的构造的来源,它并不总是正确地确定它是否是安全的重写指定的文件。 如果您有给的JavaScript错误的文件,你可以告诉的PageSpeed与不允许息事宁人。
谷歌Analytics(分析)不需要jQuery的,而的mod_pagespeed有困难重写你的一些JS和因您的自定义文件的路径并没有意识到它应该独自离开你的jQuery插件。