問題タブ [singlepage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wordpress - 「単一の投稿」を表示しているときに wp_nav_menu クラスで正しいメニューの親を強調表示する際の問題
私のサイトのメニューを wp_nav_menu を利用するように更新しました。これをWPで設定するのはかなり簡単でしたが、特に単一の投稿ページで、コンテンツが属する現在のページを強調表示するためにWordpressがその親/祖先クラスを出力する方法で1つの小さな障害に遭遇しました.. .
で現在のページを強調表示する.current_page_item a
と.current_page_parent a
、子供がいる通常のページにある限り完璧に機能しますが、イベントやメディアからの投稿にアクセスするとすぐに、メニューのブログ リンクが代わりに強調表示されますが、これは明らかに正しくありません。
*Wordpress の出力を見ると明らかに間違っている点の 1 つは、投稿が属する適切なli タグで現在のページ クラスが生成されていないことです。これが問題の原因であると思われます。
今後の参考のために、イベント、メディア、およびブログのページはすべて、そのページのそれぞれのカテゴリのみを取得するために作成した特別なクエリを使用します。
それが十分な情報であることを願っています。ベスト、SB
編集 - 2011 年 8 月 3 日
以下は、wp_nav_menu が間違った li タグで現在のクラスを生成していると私が言ったときに参照しているもののスクリーン ショットです。青色で強調表示されているのは、投稿が実際に属しているメニュー項目です。灰色で強調表示されているのは、wordpress が現在のクラスを代わりに追加することを決定した不適切な li タグです。
http://img688.imageshack.us/img688/4180/picture2zo.png
編集 - 2011 年 8 月 4 日
多分これは、Hadvig の助けを借りて、これまでのところメニュー設定がどのように改善されているかを示すのに役立つでしょうか?
私のfunctions.phpテンプレートには -
私のheader.phpテンプレートでは、メニューを次のように呼び出しています-
asp.net-mvc - フォームタグのシングルページアプリ送信バインディングが機能しない
私は、「シングル ページ アプリ」を作成するKnockoutjs の優れたメールの例に基づいて、シングル ページ アプリに取り組んできました。Steve Sanderson の例では、例のすべてのフォームのページに存在する jQuery テンプレートを使用しています。
このシナリオに .ascx を組み込もうとしています。ユーザーがリストの行をクリックすると、.ascx を .load してレコードが表示されます。送信すると、フォーム データはコントローラーに正常に送信されますが、戻り値は .ajax 呼び出しの成功、失敗、または完了したメソッドにはヒットしません。代わりに、ブラウザーはユーザーに応答をダウンロードするよう警告します。
私はこれに着実に取り組んでおり、さらに光を当てる可能性のある追加情報を見つけました. viewModel.updateWorksheet
送信ボタンはメソッドに実行されません。フォームをコントローラーに直接送信します。data-bind="submit: provViewModel.updateWorksheet"
formタグのknockoutjs属性に何か問題がありますか?
コントローラーは、次のメソッドで json を受け取ります。
フォーム タグと送信ボタンは次のようになります。
これがviewModel宣言です(多くは省略されています)
backbone.js - seo/ブックマークにBackbone.jsプッシュステートを使用するときにサーバー上のバックボーンビュー/ルートを再利用する
シングルページアプリのバックボーンについてデューデリジェンスを行っていますが、サーバー側のクライアントから同じビュー/ルートを再利用して、GoogleがプッシュステートURLにアクセスしたり、アクセスしたりすることができるかどうか疑問に思っています。サーバーは、クライアントのバックボーンによって生成されるのとまったく同じHTMLを直接生成できます。
クライアントとサーバーの2つの別々のビュー/ルートのセットを維持する必要があるのは面倒です。githubでバックノードプロジェクトを見たことがありますが、これは少しポイントを逃しているようで、同じバックボーンルーターを2回作成する必要があります。
バックボーンでプッシュステートURLを使用し、サーバーから同じビューを提供する必要がある場合、一般的にどのようにケースを処理しているのか疑問に思っていますか?人々はコードを複製していますか、それとももっと良い方法がありますか?
javascript - 「シングルページ」JS Web サイトと SEO
最近では、強力な「単一ページ」の JavaScript Web サイトを作成するための優れたツールがたくさんあります。私の意見では、これはサーバーを API として機能させ (それ以上のものは何もしない)、クライアントに HTML 生成のすべてを処理させることで正しく行われます。この「パターン」の問題は、検索エンジンのサポートがないことです。私は2つの解決策を考えることができます:
- ユーザーが Web サイトに入ると、クライアントがナビゲーションするときとまったく同じように、サーバーがページをレンダリングします。したがって、直接アクセスすると、サーバーはクライアントがpushState
http://example.com/my_path
を介してアクセスした場合と同じものをレンダリングします。/my_path
- サーバーが検索エンジン ボット専用の特別な Web サイトを提供できるようにします。通常のユーザーが
http://example.com/my_path
アクセスすると、サーバーは Web サイトの JavaScript を多用したバージョンを提供する必要があります。しかし、Google ボットがアクセスした場合、サーバーは、Google にインデックスしてもらいたいコンテンツを含む最小限の HTML を提供する必要があります。
最初の解決策については、ここで詳しく説明します。私はこれを行うウェブサイトに取り組んできましたが、あまり良い経験ではありません. これは DRY ではなく、私の場合、クライアントとサーバーに 2 つの異なるテンプレート エンジンを使用する必要がありました。
古き良き Flash Web サイトで 2 番目の解決策を見たことがあると思います。私はこのアプローチが最初のアプローチよりもはるかに気に入っており、サーバー上の適切なツールを使用すると、非常に簡単に実行できます.
それで、私が本当に疑問に思っているのは、次のことです。
- より良い解決策を考えられますか?
- 2 番目のソリューションの欠点は何ですか? Google が何らかの方法で、私が Google ボットに対して通常のユーザーとまったく同じコンテンツを提供していないことを発見した場合、検索結果で処罰されますか?
javascript - 単一ページのアプリケーションで #-URL を使用するにはどうすればよいですか?
この記事では、URL は存続期間が長い (ブックマークされて渡される) ため、意味のあるものである必要があり、実際のルーティング (ページに表示されるデータや状態を決定する) にはハッシュを使用するというかなり説得力のある議論を行っています。したがって、アプリケーションの) は不適切です。しかし、シングルページ アプリケーションで実際にこれを実行しようとすると、問題に直面します。すべてのブラウザーがアプリケーションを使用できるようにするには、リンクをどのように表示すればよいでしょうか? 私が見たように、3つのオプションがあります:
- すべて
href
の には#/
接頭辞があります。これは、HTML4 ブラウザーでうまく機能します。HTML5 ブラウザーでは、ハッシュのないバージョンにリダイレクトするSammyルートを追加できますが、これもうまく機能します。ブラウザーがリンクを訪問していないときに訪問済みとしてマークしたり、訪問済みのときに訪問済みとしてマークしたりしないという問題がある可能性があります。他の問題は、それが...間違っているということです。リンクを右クリックして [リンク URL をコピー] を選択することでリンクを共有する人は、機能しているが扱いにくい URL を送信することになります。 - no
href
には#/
接頭辞がありません。私が知る限り、HTML4 ブラウザにはこれらのリンク クリックを傍受する方法がありません。つまり、クリックごとにページが更新されます。アプリケーションはおそらくまだ機能しますが、Sammy ルートを使用して、ページの読み込み時にハッシュのないバージョンをハッシュのあるバージョンに書き換えることができるため、ページの読み込みによって単一ページ アプリケーションのパフォーマンスが低下します。 - プレフィックスを付けるかどうかを動的に決定します
#/
。これは、すべてのリンクに動的マークアップが必要であり、アプリケーションが非常に複雑になることを意味します。
ajax - Dojango-Dojo + Django、django.contrib.authとdjangoを「ラップ」する方法-AJAXの登録、単一ページの使用
DojoとDjangoは初めてです。とはいえ、私はシングルページアプリを作成しようとしていますが、Djangoの組み込み認証ツールは従来のDjangoページごとのモデルを中心に設計されているため、それらを活用する方法がわかりません。
アプリに固有のフォームと、認証とdjango-registrationの両方のフォームをに表示したいと思います<div dojoType="dijit.layout.contentPane" id="mainPane"></div>
。Dojangoとしてレンダリングされたビュー@json_response
を表示する方法をマスターしました。ただし、ページの読み込みを予期しないように既存のビューを「ラップ」する方法がわかりません。
シングルページDjangoアプリの従来の戦略はありますか?DjangoのORMとDojoのUIは好きですが、完全に統合するのは難しいようです。ありがとう。
編集:より明確にするために、私は次のようなフローが必要です:
- ユーザーが「DO_IT」ボタンをクリックします。
- DojoはDO_ITフォームをxhrGETし、MAINPANEのコンテンツをそれに置き換えます。
- ユーザーはDO_ITフォームを使用して何かを実行し、dojoxhrPOSTはユーザーのアクションを実行します。
- Dojoは、MAINPANEのコンテンツを応答に置き換えます。
- 利益
これを達成するための最良の/従来の/一般的な/最も文書化された方法は何ですか。考えられるアプローチはたくさんあると思います。初心者としてf@#$-upするのが簡単ではないものを探しています。
javascript - 単一ページ アプリケーション (Web サイト) のツール フレームワーク
良い一日!
ここには似たような質問がたくさんありますが、私はシングルページ Web アプリケーションを構築する際の次のような側面に特に興味があります。
大量の AJAX リクエスト (おそらく Node.js) に適しているサーバー コンポーネントはどれですか? 私のサーバー プラットフォームは *nix (Debian) と PHP です。
いつ、どのように AJAX を COMET に置き換える必要があり、同じサーバー側を使用できますか?
クライアント側 (MVC、MVVM、クライアント テンプレート) を整理するのに役立つ JavaScript フレームワークは何ですか?
全体的なアプローチとアーキテクチャ パターンに関する良い点は、本当に感謝しています。
ありがとう!
model-view-controller - 単一ページ アプリケーションの全体的なアーキテクチャを編成するためのパターン
良い一日!
私はクライアント側の MVC (JavaScriptMVC、Knockout.js などを調べています) を使い始めており、全体的なアーキテクチャについて質問があります。1 ページのアプリケーションがあるとします。いくつかの画面があります (たとえば、メイン、設定、ユーザー プロファイルなど)。私が理解している限り、これらの「スクリーン」はそれぞれ別個の M、V、C トライアドでなければなりません。
この画面を整理するには?どのようなライフサイクルが必要ですか?
サーバー側の MVC には、フロント コントローラー、URL ルーティングなどがあります。クライアント側の代用は何になりますか?
c# - シングル ページ アプリを作成するためのベスト プラクティスは何ですか?
一般に、単一ページのアプリ (完全に ajax に依存) を作成するときに忘れたり考慮したりしないでください。またはMVCに関する特定の考慮事項はありますか?
asp.net-mvc-4 - asp.net MVC 4の例、「ビッグシェルフ」のシングルページアプリはSEOフレンドリーですか?
これは、Microsoft の SPA「Big Shelf」のアーキテクチャです。
このように構築されたページは SEO フレンドリーですか? この方法でアプリを作成した場合、Bing/Google/Yahoo などでインデックス付けできますか?
私はSPAの多くの利点が好きですが、SEOはここで大きなマイナスになるようです.