2

これについて本当に助けが必要です。私は TiddlyWiki を開発しており、非常に遅くて扱いにくい内部 Web サイト/サーバー上のファイルを検索するための組織のナビゲーション ツールとして機能します。

問題: TiddlyWiki が Cookie に保存するオプションのいくつかが、内部 Web サイト自体の Cookie オプションと競合しているようです。TiddlyWiki は内部 Web サイトでホスト/ロードする必要があるため、その Cookie は内部 Web サイトと同じ URL/名前を持ちます。さまざまな便利な TiddlyWiki プラグインが Cookie を残し、内部 Web サイトへのアップロードを阻止したり、まったく開かないようにしたりします。

このサイトのすべてのユーザーに、Web サイトを閲覧した後に Cookie を削除するように指示することはできません。

Cookie のコンテンツにアクセスできません。これは、情報管理のアクセス許可プロセスが遅く、複雑で、私の問題を理解していないためです。

私はこれを解決するために多くのことをしました:

CookieManager プラグインを使用して、すべての Cookie を許可しないように設定しましたが、Cookie がまだドロップされていました。

プラグインの無効化、再アップロード、およびテストを試みました。いくつかの便利なプラグインを削除した後でも、少なくとも内部 Web サイトにはアクセスできました。ただし、内部サイトにアップロードできないという問題を修正するには、高度な検索プラグインを無効にする必要があります。高度な検索は、訪問者/編集者の分離の一部を提供するだけでなく、私の組織で TiddlyWiki を使用する主な販売機能の 1 つでもあるため、本当に必要です。

高度な検索プラグイン (特に) のオプションの名前を、おそらく内部サイトで 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 ファイルが有効であると見なさないようにします。その後、アップグレードするまで変更の保存を拒否します。)

これを手動で行うことはあまり気にしません。面倒ですが、それほど時間はかかりません。ただし、私たちの Web サイト チームの他のメンバーがそれを行うことは期待できません。また、TiddlyWiki を私がいなくても維持/更新できる状態にする必要があります。

次のようなsystemConfigファイルを作成してみました:

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

元のソースコードにそのまま残っている場合でも、関数が上書きされると思いました/望んでいました。もしそうなら、TiddlyWiki が私たちの内部 Web サイトへの [アクセス能力] を台無しにする Cookie をドロップする前に、それは行われません。さらに、 https://stackoverflow.com/questions/595228/how-can-i-delete-all-cookies-with-javascriptからの最初の回答の TiddlyWiki バージョンを挿入してみました。これにより、TiddlyWiki がフリーズします。スタック オーバーフロー アラートをスローします。

他に何をすべきかわからないので、これについて本当に助けが必要です。これは、私の組織による TiddlyWiki の使用を危険にさらす可能性がある問題です。

ありがとう、

オランダの

4

1 に答える 1

3

また、TiddlyWiki Googleグループ( http://groups.google.com/group/tiddlywiki/browse_thread/thread/b33c696a628e4606 )でこの質問をし、いくつかの回答を得ました。

私はhttp://mptw2.tiddlyspot.com/#HijackingHowtoを指摘されました。これは、たとえば、特定の条件下で動作を変更するために、コアTiddlyWiki関数を再定義する方法を示しています。

そのほとんどは、この問題を解決するために必要なものをはるかに超えていましたが、コア機能をどのように再定義したかを見るだけで解決策が得られました。

TiddlyWikiをいじくり回しているときに私が知っている唯一のJavaScriptなので、今持っているものと以前持っていたものが機能しなかった理由を完全には理解していませんが、Cookieを完全に殺すコードは次のとおりです(そしてまた、 systemConfigとタグ付けされたプラグイン内にある必要があります):

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

宣言されたすべての関数が割り当てられているレベルで実行されているコアTiddlyWikiコードと関係があるのではないかと考えていましたwindow

于 2011-07-14T13:41:50.980 に答える