2

Недавно я стал достаточно активным в StackOverflow, поэтому я открывал довольно много ссылок на http://jsfiddle.net, но, поскольку мне нужно было регулярно менять размеры панелей, чтобы увидеть конкретный код, размещенный в коде. задумано, я обычно получаю довольно странные конфигурации для панелей. Потому что я предпочел бы не иметь , чтобы изменить размер окна к более нормальной обстановке каждый раз, я хотел бы, чтобы блокировать window_sizes печенье из jsfiddle, но когда я пытался прибегая к помощи , как блокировать один куки с определенного сайта, я не мог найти ничего ,

Я также попытался проверить настройки как для Chrome, так и для Firefox, но ни у одного из них нет возможности заблокировать определенный файл cookie, только чтобы заблокировать определенные домены.

Меня больше всего интересует вопрос о том, как заблокировать этот конкретный файл cookie в Chrome (который является моим браузером по умолчанию), но я думаю, что для тех, кто сталкивается с такой же проблемой, было бы полезно также включить методы для других браузеров, если это возможно ,

1 ответ1

2

Достижение разблокировано - выборочная очистка файлов cookie

По умолчанию браузеры не допускают такого детального контроля над файлами cookie: обычно вы можете либо заблокировать все сторонние файлы cookie, либо заблокировать все файлы cookie для данного домена. Блокировка всего не возможна, потому что вы легко в конечном итоге нарушите основные функции (например, вход пользователя). В этом случае вам придется прибегнуть к пользовательским скриптам или расширениям.


Firefox - пользовательское решение

Это код, который я придумал. Протестировано с Firefox 26.0, Greasemonkey 1.14.

// ==UserScript==
// @name        JSFiddlePanelReset
// @namespace   net.jsfiddle.userscripts
// @description Resets panels back to their default size whenever the site is loaded.
// @version     1.0
// @icon        http://jsfiddle.net/favicon.png
// @grant       none
// @include     http://jsfiddle.net/*
// @match       http://jsfiddle.net/*
// ==/UserScript==

(function (){

    // set the domain
    var domain = ".jsfiddle.net";

    // get a date in the past
    var expireDate = new Date(-1).toUTCString();

    // clear the size-related cookie and force it to expire
    document.cookie = "window_sizes=; domain=" + domain + "; path=/; expires=" + expireDate;

})();

замечания

Как указал @Brock Adams в другом вопросе, существуют существенные ограничения на то, что Greasemonkey может удалить:

  • Файлы cookie, которые вы хотите удалить, находятся в домене текущей страницы.
  • Они не являются "Безопасными куки".
  • Путь к cookie (который не может быть обнаружен Greasemonkey) - это путь по умолчанию, / .
  • Яваскрипт не устанавливает куки после загрузки страницы.
  • То, что вы отслеживаете, действительно является "cookie". Многие веб-сайты используют различные другие методы, включая LSO, локальное хранилище и т.д.

Рекомендации


Браузеры на основе хрома - расширение

Хотя приведенный выше скрипт пользователя очищает указанный файл cookie, панели JSFiddle не сбрасываются по какой-либо причине. Поскольку я использую не тот тип браузера, я не стал тратить слишком много времени, пытаясь понять, почему; Может быть, кто-то еще может пролить свет на это. В качестве альтернативы вы можете использовать расширение Edit This Cookie .

Редактировать это печенье

Помимо прочего, это конкретное расширение может блокировать определенные файлы cookie. Вы можете отфильтровать их по домену, имени и стоимости.

Заблокированное печенье

Рекомендации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .