ПРЕДПОСЫЛКИ ПРОБЛЕМЫ:
Обычно я оставляю свой браузер припаркованным на странице фэнтези-бейсбола в режиме реального времени.На следующий день браузер всегда работает медленно и часто падает.
После некоторого расследования я убежден, что это вызвано тем, что сайт обновляет cookie каждую 1 секунду.Если у меня открыто 5 вкладок в домене сайта (что я часто и делаю), он обновляет cookie 5 раз в секунду.
ОТЛАДКА:
Я использую Firefox4.0 с firebug и firecookie.
Файл cookie сеанса называется " fsr.a " и содержит метку времени * nix.Я считаю, что это называется «предвидеть триггер», и это своего рода рекламное ПО.
Вы можете увидеть его в действии здесь (не нужно входить в систему): http://www.cbssports.com/
Кажется, файл cookieбыть установленным этим файлом: http://sports.cbsimg.net/js/phase2-min-v0047.js
ИСПРАВЛЕНИЕ:
Я пробовал Adblocking, но это сломало сайт.Я пытался написать сценарий Greasemonkey, чтобы противостоять ему, но я еще недостаточно хорош с JS.Я, очевидно, не могу заблокировать все куки в домене.
Просто ищу идеи или, возможно, указатель в правильном направлении со скриптом Greasemonkey.
РЕДАКТИРОВАТЬ:
Интересно, могу ли я просто изменить переменную таймера с помощью Greasemonkey, чтобы обновлять cookie реже?
Для справки, я считаю, что это код, отвечающий за " fsr.a"cookie:
var FSR = {
version: "5.3.0",
date: "11/11/2009",
enabled: true,
files: "http://images.cbssports.com/script/foresee/",
id: "7alXWMyc064b1ROgR/DloA==",
sites: [{
path: /\w+-?\w+\.(com|org|edu|gov|net)/
}, {
path: ".",
domain: "default"
}]
};
function fsr$setAlive() {
var a = new Date().getTime();
document.cookie = "fsr.a=" + a + ";path=/" + ((FSR.site.domain) ? ";domain=" + FSR.site.domain + ";" : ";")
}(function () {
if (window != window.top) {
return
}
function g(k) {
if (typeof k == "object") {
var l = k.constructor.toString().match(/array/i);
return (l != null)
}
return false
}
var e = FSR.sites;
for (var h = 0, a = e.length; h < a; h++) {
var c;
if (!g(e[h].path)) {
e[h].path = [e[h].path]
}
for (var j = 0, b = e[h].path.length; j < b; j++) {
if (c = document.location.href.match(e[h].path[j])) {
FSR.siteid = h;
FSR.site = FSR.sites[FSR.siteid];
if (!FSR.site.domain) {
FSR.site.domain = c[0]
} else {
if (FSR.site.domain == "default") {
FSR.site.domain = false
}
}
if (!FSR.site.name) {
FSR.site.name = c[0]
}
var d = ["files", "js_files", "image_files", "html_files"];
for (var h = 0, f = d.length; h < f; h++) {
if (FSR.site[d[h]]) {
FSR[d[h]] = FSR.site[d[h]]
}
}
break
}
}
if (c) {
break
}
}
if (!window["fsr$timer"]) {
fsr$setAlive();
window["fsr$timer"] = setInterval(fsr$setAlive, 1000)
}
})();
Альтернативная паста: http://pastebin.com/YrHFCZn1