TopMovable TypeカスタマイズTypeKey > 2004年10月
2004年10月22日

TypeKeyでサイン・インしても表示が変わらない問題を対処

October 22,2004 3:15 PM
Tag:[]
Permalink

現状の公開テンプレートでは個別アーカイブからTypeKeyにサイン・インした後、サイン・イン状態の画面になりません。実は以前からそういう状態だったのですが「そういうものか…」と思って解決に向かっての行動を怠ってました(他のサイトでTypeKeyサイン・インをしないもので…)が、mayutanさんからのご質問でやはり不具合であることが判明しました。すいません…。
ちなみに現状のテンプレートではサイン・イン後に確認画面に移動、またはリロードするとサイン・インされた状態が表示されます。

個別アーカイブからTypeKeyのサイン・インを行う時の画面遷移は下記の通りです。

  • 個別アーカイブの「TypeKey ID を使って サイン・イン してください。」のリンク部分をクリック
  • TypeKeyログイン画面にジャンプするのでサイン・イン、または登録(サイン・イン情報をcookieに保持)
  • サイン・インが成功すればサイン・イン画面から個別アーカイブにリダイレクト(cookieよりサイン・イン情報を取得してサイン・イン状態表示)

この中の、一番下のcookieの取得が正常に行えていないようです。

この問題解決にあたって参考させて頂いたサイトです。ありがとうございました。

以下、上記サイトからの引用です。
この問題は個別アーカイブの下記の赤色部分(2ヶ所)を青色部分に置き換えることで解決します。

修正前

<script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script>

修正後

<script type="text/javascript">
<!--
var commenter_name = getCookie("commenter_name");
// -->
</script>

上記の対処とは別にTypeKeyサイトの「コメンターの設定」にある「ニックネーム」が日本語の場合、文字が化けが発生するようですので、下記の対処も併せて実施する必要があります。個別アーカイブ・コメントプレビュー・コメントリスト・コメントエラー上部にあるJavaScriptの赤色部分をそれぞれ青色のスクリプトに置き換えます。
2004.10.27 追記:3.11-ja以降の場合は「Remember Me」というテンプレートモジュールが修正対象です。注:修正後は再構築が必要です。

修正前

function setCookie (name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}
 
function getCookie (name) {
    var prefix = name + '=';
    var c = document.cookie;
    var nullstring = '';
    var cookieStartIndex = c.indexOf(prefix);
    if (cookieStartIndex == -1)
        return nullstring;
    var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
    if (cookieEndIndex == -1)
    cookieEndIndex = c.length;
    return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
} 

修正後

function setCookie (name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + (window.encodeURIComponent ? encodeURIComponent(value) : escape(value)) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
} 
 
function getCookie (name) {
    var prefix = name + '=';
    var c = document.cookie;
    var nullstring = '';
    var cookieStartIndex = c.indexOf(prefix);
    if (cookieStartIndex == -1)
        return nullstring;
    var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
    if (cookieEndIndex == -1)
    cookieEndIndex = c.length;
    var value = c.substring(cookieStartIndex + prefix.length, cookieEndIndex);
    return window.decodeURIComponent ? decodeURIComponent(value) : unescape(value);
} 

私のニックネームを半角英数から全角に変更して試したところ、正常に表示されることを確認しました。

これに伴い、公開中のテンプレートを修正致しました(またかよ…って感じですが)。修正したのは、

です。それ以前のテンプレートについてはTypeKey対応でないバージョンを考慮して変更していません(というかTypeKey対応のタグがそもそもありませんでしたね…)。

各テンプレートのサイン・インおよびサイン・アウトにつきましては一通り確認致しましたが不具合等ございましたらご連絡ください。

Comments [19] | Trackbacks [13]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner


AMN
Categories
Monthly Archives
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3