Как я могу полностью отключить / удалить куки в TiddlyWiki? - PullRequest
2 голосов
/ 27 июня 2011

Мне действительно нужна помощь в этом.Я разрабатываю TiddlyWiki, который будет служить средством навигации моей организации для поиска файлов на нашем чрезвычайно медленном и громоздком внутреннем веб-сайте / сервере.

Проблема: некоторые из опций, которые TiddlyWiki сохраняет в cookie, явно конфликтуют с внутренними веб-сайтами.собственные параметры cookie.TiddlyWiki должен быть размещен на / загружен с внутреннего веб-сайта, поэтому его cookie имеет тот же URL / имя, что и внутренний веб-сайт.Различные полезные плагины TiddlyWiki оставляют куки-файлы, которые либо мешают кому-либо загружать что-либо на внутренний веб-сайт, либо вообще препятствуют его открытию.

Указание каждому пользователю этого сайта удалять свои куки-файлы после просмотра веб-сайтане вариант.

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

I 'Я сделал много вещей, чтобы попытаться решить эту проблему:

Я использовал плагин CookieManager и установил его, чтобы запретить любые куки, но куки все еще удалялись.

Я пытался отключить плагины, повторнозагрузка и тестирование.После того, как я избавился от нескольких полезных плагинов, я по крайней мере смог получить доступ к внутреннему веб-сайту.Однако я должен был бы отключить плагин расширенного поиска, чтобы исправить проблему, так как я не могу загрузить ее на внутренний сайт.Мне действительно нужен расширенный поиск, поскольку он обеспечивает некоторую сегрегацию посетителей и редакторов, а также является одной из основных полезных функций использования TiddlyWiki для моей организации.

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

Что делает работает, так это то, что он вручную редактирует исходный код TiddlyWiki, чтобы закомментировать внутреннюю часть функции saveCookie:

function saveCookie(name)
{
//  var cookies = {};
//  for(var key in config.options) {
//      var value = getOption(key);
//      value = value == null ? 'false' : value;
//      cookies[key] = value;
//  }
//  document.cookie = 'TiddlyWiki=' + String.encodeHashMap(cookies) + '; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/';
//  cookies = getCookies();
//  for(var c in cookies) {
//      var optType = c.substr(0,3);
//      if(config.optionHandlers[optType])
//          removeCookie(c);
//  }
}

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

Я не против делать это вручную,Это хлопотно, но это не займет много времени.Я не могу ожидать, что кто-либо из членов нашей команды веб-сайта сделает это, и мне нужно, чтобы наш TiddlyWiki находился в состоянии, при котором он мог бы поддерживаться / обновляться без меня.

Я пытался создать systemConfigфайл вроде этого:

//{{{
function saveCookie(name) { }
//}}}

Я думал / надеялся, что он перезапишет функцию, даже если она не повреждена в исходном исходном коде.Если это произойдет, он не сделает этого, пока TiddlyWiki не удалит cookie, который испортит [возможность доступа] к нашему внутреннему веб-сайту.Далее я попытался вставить версию первого ответа TiddlyWiki от https://stackoverflow.com/questions/595228/how-can-i-delete-all-cookies-with-javascript.Это приводит к зависанию TiddlyWiki.Он выдает предупреждение о переполнении стека.

Мне действительно нужна помощь по этому вопросу, поскольку я не знаю, что еще делать, и это проблема, которая может поставить под угрозу использование TiddlyWiki моей организацией.

Спасибо,

Голландский

1 Ответ

3 голосов
/ 14 июля 2011

Я также задавал этот вопрос в группах Google TiddlyWiki (http://groups.google.com/group/tiddlywiki/browse_thread/thread/b33c696a628e4606) и получил несколько ответов.

Мне указали на http://mptw2.tiddlyspot.com/#HijackingHowto,, который показывает, как переопределить основные функции TiddlyWiki, например, для изменения их поведения при определенных условиях.

Большая часть этого была гораздо больше, чем мне нужно было для решения этой проблемы, но только просмотр того, как они пересмотрели свои основные функции, дал мне решение.

Единственный JavaScript, который я знаю, я взял, работая с TiddlyWiki, поэтому я не полностью не понимаю, почему то, что у меня сейчас работает и то, что у меня было раньше, не было, но вот код, который будет полностью уничтожить куки (и опять же, он должен быть внутри плагина с тегом systemConfig):

 //{{{ 
 window.saveCookie = function(name) { } 
 //}}}

Я думал, что это может иметь какое-то отношение к основному коду TiddlyWiki, запущенному на уровень, на котором все объявленные функции присваиваются window.

...