1

W3 Total Cache とレスポンシブ レイアウト (メディア クエリ) を備えた WP Mobile Detector を使用していますが、いくつかの問題があります。

  1. Blackberry でローカル (ローカルホスト) でサイトを表示すると、見栄えがよくなります。ズーム/ビューポートは正しく、メディア クエリは正しくトリガーされます。ただし、Blackberry でライブ サイトを表示すると、ビューポートが縮小されます。レスポンシブ レイアウトのコンテキストでは、ローカルでは 2 つの列が表示されますが、ライブでは 6 つの列すべてが表示されます (つまり、Blackberry は完全なブラウザーであると認識しており、非常に迷惑です!)。

  2. W3 Total Cache を非アクティブにして、それが何らかの効果をもたらしているかどうかを確認しようと考えました。はい、効果がありました。キャッシュがオフの場合、ビューポート/ズームは良好で、すべてが良好です。問題が解決しました?そうじゃない...

  3. キャッシュをオフにしてライブ サイトに移動し、リンクをクリックすると、サイトのサブページ (www.SITE.com/about、www.SITE.com/contact など) がモバイル テーマで応答している間に、リンクをクリックします。ホームに戻る (またはアドレス バーに入力する) - 例: www.SITE.com/ - モバイル テーマが配信されなくなり、通常の「デスクトップ」テーマだけが配信されます。サブページに戻ると、モバイル テーマが再び表示されます。そこで何が起こっているのか。

  4. (たとえば) Blackberry で表示しているときに、[サイト全体を表示] リンク (Cookie を変更する Javascript 関数をトリガーする) をクリックすると、サイト全体 (つまり、通常のテーマ) は表示されず、更新されて表示されるだけです。モバイルテーマ。ただし、デスクトップ上の Firefox で (ユーザー エージェント スイッチャーを介して) 表示すると、リンクは Cookie を変更し、通常のデスクトップ テーマに戻ります。

考え/質問

W3TC は WPMD (モバイル テーマは縮小された JS/CSS を提供します) で動作しますが、何かを正しく構成していない可能性があります。次の 2 つのリンクは非常に役に立ち、提案された変更を実装しました。 --- http://snipplr.com/view/47970/wp-mobile-detector--w3-total-cache-integration/ --- http: //journal.code4lib.org/articles/6223

これは [Blackberry HotSpot/インターネット ブラウザ] の既知の問題ですか? ビューポート データを示すために必要なメタ タグをドキュメント ヘッドに追加しました。私が理解している HandheldFriendly メタ データは、主に Blackberry 用です。先ほど言ったように、ホームページの問題を除いて、キャッシュをオフにしても問題ないようです。

User Agent Switcher 拡張機能を iPhone 3 に設定した Firefox で問題なく動作し、Blackberry の問題はまったくありません。

WPMD は、Cookie を設定することで機能します。これは機能しているように見えます。そうでなければ、モバイル テーマはまったく見られなかったでしょう。

Blackberry の JavaScript 機能に問題はありますか? 電話自体から判断するのは簡単ではありません - JS エラー モニターをドロップする必要があるかもしれません (私は先日 1 つを見ていました)。

モバイル開発がこんなに難しいと誰が思ったでしょう!

更新 1

最初の投稿から数週間が経ちましたが、すぐに Joshua と Frederick のアドバイスに従い、W3TC [の最新バージョン] をアンインストールしてから再インストールし、結果を投稿します。

さまざまなブラウザー (デスクトップとモバイルの両方) では、javascript リダイレクト ステートメントの扱いが異なることがわかりました。例えば:

setTimeout(function(){window.location.reload();},10)
window.location.reload();
location.reload();

上記の 3 行は同じアクションを効果的に実行します (必要に応じて実装がわずかに異なります) が、それぞれを使用するブラウザー間でさまざまな成功を収めました。 Javascript を介して適切な自動更新を実行するための Blackberry ブラウザー。

他には、デスクトップ PC/ブラウザーを使用してデスクトップとモバイルを切り替えることが興味深いことがわかりました。デスクトップ版を使用していて、モバイル版のページに切り替えたとしましょう。ここまでは問題ありませんが、デスクトップ バージョンのページに戻ります。それでも問題ありませんが、デスクトップ ページのリンクをすばやくクリックして別の [デスクトップ] ページに移動すると、デスクトップ バージョンではなくモバイル バージョンが表示されることがあります。

それで、そこで何が起こったのですか?別のリンクをクリックしたときにページがまだロードされていたので、何かを中断しましたか? おそらくそうではありません。Cookie は、ページのモバイル バージョンからの前の要求で設定されて送信されたものであり、たとえば「show-desktop-version = true」です。F5 キーまたはブラウザの [更新] ボタン (または、実際には他のページへのリンク) を押すと、正しいモバイル バージョンまたはデスクトップ バージョンが (それぞれ) 表示されます。

もう 1 つの興味深い点は、モバイル バージョン (デスクトップ ブラウザーを使用) を使用していて、site.com/mypage を見ているとします。そのページには「View Full Site」(VFS) へのリンクがあります。VFS を 1 回クリックすると更新されますが、モバイル バージョンがまだ表示されています。もう一度クリックします - 同じ結果です。何度も何度もクリックすると、今度は完全なサイトに切り替わりました。このサイクル/プロセスは 1 回発生し、その後しばらく発生しないように見え、その後再び発生します。

更新 2

モバイルとデスクトップのテーマの切り替えに関する問題については、「更新 1」の私のメモは無視してください。私のスイッチャーリンクの1つ(デスクトップテーマからモバイルへ)、例えば...

<a href="?dothemeswitch" onClick="funcSwitchToMobile()">View Mobile Site</a>

...クエリパラメータを使用していました(ご覧のとおり)。この手法を使用して、リンクが同じ/現在の URL を指しているため、モバイル ブラウザーが適切な更新を妨げているかどうかをテストしました。スイッチャー リンクは実際には次のようになっているはずです。

<a href="#" onClick="funcSwitchToMobile()">View Mobile Site</a>

...ハッシュのみを使用してリンクをクリック可能にし、Javascript 関数がその魔法 (Cookie の更新、ページのリロード) を実行できるようにします。

問題が解決しました。

(W3TC + WPMD の互換性はまだ私にとって問題です - 更新を投稿します)。

4

2 に答える 2

1

私は WP Mobile Detector の開発者です。

あなたが説明する問題は、W3 Total Cache がインストールされたときに発生するものとまったく同じです。何らかの理由で、W3 Total Cache を無効にして削除する必要がある場合があります。

W3 Total Cache が無効になっていても、2 人の顧客から問題が報告されました。削除すると、問題が修正されました。その後、彼らは W3 Total Cache を再アップロードし、あなたが投稿したリンクに変更を加えましたが、問題ないようでした。

何らかの理由で、これらの問題は W3 Total Cache の新しいバージョンでより蔓延しているようです。Frederick (W3 Total Cache の作成者) と協力して、プラグインがうまく連携するようにする必要があります。

BlackBerry デバイスのキャッシュも必ずクリアしてください。

于 2012-08-07T00:33:12.533 に答える
0

プラグインを評価せずに、ここで考慮すべき点がいくつかあります。最初に、W3TC はデフォルトで、スマートフォンやスマートフォン以外のユーザー エージェント グループに使用するページ キャッシュを適切に決定するために Cookie を設定しようとします。レスポンシブ Web デザインやプログレッシブ エンハンスメントが普及する前にモバイル テーマ プラグインが普及したため、それぞれに固有のキャッシュが保持されます。

ユーザー エージェント グループを無効にするか、訪問者を別のページまたはテーマにリダイレクトするために使用できます。次のリリースでは、ユーザー エージェント グループが設定されている場合の Cookie も不要になります。将来のリリースでは、Cookie を使用して一意のキャッシュ ユーザー リクエストも使用できるようになります。

于 2012-08-12T21:41:31.423 に答える