サポート » プラグイン » ktai style ドコモで ←ボタンで再読み込みしてしまう

  • 解決済 shiro99

    (@shiro99)


    softbank au で ←ボタン(戻る)際はキャッシュで見れますが、
    ドコモだけ再読み込みしてしまいます
    再読み込みしない設定にしたいのですが
    どうすればよろしいでしょうか

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    プラグイン作者です。

    softbank au で ←ボタン(戻る)際はキャッシュで見れますが、
    ドコモだけ再読み込みしてしまいます

    どのページでもそうですか?
    Ktai Style は、フロントページ (トップページ)、最新コメント一覧、アーカイブ一覧、カテゴリー一覧、タグ一覧、リンク一覧では、端末にキャッシュさせないようにしています。このため、これらのページに対しては、戻る操作をしても再読み込みされます。

    その他のページでは、ドコモ場合、URL に ? が含まれる場合 (クエリー文字列を使っている場合)、再読み込みする場合がありそうです。ドコモの場合は、明示的にキャッシュさせる動作を指定しないといけないかもしれません。

    au は、かなりキャッシュを優先する動作のため、むしろこちらの方が難儀だったりするんですが……。

    トピック投稿者 shiro99

    (@shiro99)

    どのページでもそうですか?

    全てかどうかは分かりませんが

    その他のページでは、ドコモ場合、URL に ? が含まれる場合 (クエリー文字列を使っている場合)、再読み込みする場合がありそうです

    301対策のため、パーマリンクはデフォルトのままで、Nice Trailingslashit を使用してます

    携帯の戻る操作ではスピードを重視したいので、よろしければ
    数分間?キャッシュさせる方法を教えてくださいませんか

    モデレーター IKEDA Yuriko

    (@lilyfan)

    Nice Trailingslashit を使用してます

    このへんが非常に気になりますね……。

    携帯の戻る操作ではスピードを重視したいので、よろしければ
    数分間?キャッシュさせる方法を教えてくださいませんか

    実機での確認はしていませんが、HTTP で Cache-Control ヘッダをきちんと吐いてやれば、うまくキャッシュされると思います。

    具体的には、ktai_style/ktai_style.php の 530 行目付近、echo $buffer; の直前で、
    header("Cache-Control:max-age:300;");
    とか書いてみるとよいと思います。

    トピック投稿者 shiro99

    (@shiro99)

    具体的には、ktai_style/ktai_style.php の 530 行目付近、echo $buffer; の直前で、
    header(“Cache-Control:max-age:300;”);

    書いてみましたが、反映されないみたいです…
    ソースを確認しても記載されてません

    モデレーター IKEDA Yuriko

    (@lilyfan)

    書いてみましたが、反映されないみたいです…

    うーん。だめですか。ドコモのドキュメントを見て、キャッシュコントロール関係を再確認してみてます。

    ソースを確認しても記載されてません

    これは HTTP ヘッダの記述なので HTML ソースには書き出されないです。確認するには、HTTP ヘッダを確認できるウェブブラウザー (Firefox に Live HTTP headers エクステンションを入れる等) を使ってください。

    トピック投稿者 shiro99

    (@shiro99)

    ちなみに 一度次のページを見た後、戻って →ボタン だとキャッシュされて?スムーズに見れます

    モデレーター IKEDA Yuriko

    (@lilyfan)

    ちなみに 一度次のページを見た後、戻って →ボタン だとキャッシュされて?スムーズに見れます

    だとすると、最初に書いた「Ktai Style は、フロントページ (トップページ)、最新コメント一覧、アーカイブ一覧、カテゴリー一覧、タグ一覧、リンク一覧では、端末にキャッシュさせないようにしています。」の仕様にひっかかっている気がします。

    この仕様を回避するには、ktai_style/ktai_style.php の 530行目付近にある nocache_headers() をコメントアウトしてください。
    その後に header() 関数を書くと、オーバーライドできるはずですが、nocache_headers() が行なうキャシュ禁止処理の方が複雑なため、それをうまくキャンセルできてないためです。

    トピック投稿者 shiro99

    (@shiro99)

    この仕様を回避するには、ktai_style/ktai_style.php の 530行目付近にある nocache_headers() をコメントアウトしてください。

    できました!
    あとはAU対策でKDDIのみの
    <meta http-equiv=”cache-control” content=”no-cache” />
    などで対応したいと思います

    モデレーター IKEDA Yuriko

    (@lilyfan)

    つまり、Ktai Style の仕様には問題がなく、その挙動が好みでなかったということですよね……。

    あとはAU対策でKDDIのみの
    <meta http-equiv=”cache-control” content=”no-cache” />
    などで対応したいと思います

    meta タグを書くくらいなら、header() 関数で header('Cache-control:no-cache'); を実行する方がよいです。挿入箇所は、nocache_headers(); を消した直後ぐらいにしてみてください。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    meta タグを書くくらいなら、header() 関数で header(‘Cache-control:no-cache’); を実行する方がよいです。挿入箇所は、nocache_headers(); を消した直後ぐらいにしてみてください。

    と書きましたが、EZweb の場合は、HTTP ヘッダよりも HTML/XHTML の meta タグを優先するようです。なんてことでしょう。

    http://www.au.kddi.com/ezfactory/tec/spec/wap_tag11.html

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • トピック「ktai style ドコモで ←ボタンで再読み込みしてしまう」には新たに返信することはできません。