问题标签 [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.

0 投票
1 回答
3502 浏览

wordpress - 在查看“单个帖子”时无法使用 wp_nav_menu 类突出显示正确的菜单父级

我刚刚更新了我网站上的一个菜单以使用 wp_nav_menu。使用 WP 进行设置非常简单,但是我遇到了一个小障碍,因为 wordpress 输出其父/祖先类以用于突出显示内容所属的当前页面,尤其是单个帖子页面.. .

突出显示当前页面,只要它只是在带有孩子的普通页面上,就可以完美地工作,.current_page_item a但是一旦您访问来自事件媒体的帖子,菜单中的博客链接就会突出显示,这显然是不正确的.current_page_parent a

*在查看 Wordpress 的输出时,明显错误的一件事是,当前页面类甚至没有在帖子所属的正确li 标签上生成,这似乎是问题的根源。

为了将来参考,事件、媒体和博客页面都使用了我编写的特殊查询,以仅获取该页面的相应类别,即。

希望那是足够的信息,如果不让我知道。最佳,某人


编辑 - 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模板中,我这样调用菜单 -


0 投票
1 回答
1282 浏览

asp.net-mvc - 表单标签上的单页应用程序提交绑定不起作用

我一直在基于 Knockoutjs的创建“单页应用程序”的优秀邮件示例开发单页应用程序。Steve Sanderson 的示例为示例中的所有表单使用驻留在页面中的 jQuery 模板。

我正在尝试将 .ascx 合并到此场景中:用户单击列表中的一行,该行通过加载 .ascx 来显示记录。在提交表单数据成功地进入控制器,但返回没有达到成功、失败甚至 .ajax 调用的完成方法。相反,浏览器会提醒用户下载响应。

我一直在稳步研究这个问题,并发现了一些可能会带来更多启示的附加信息。提交按钮不会运行到该viewModel.updateWorksheet方法。它将表单直接提交给控制器。data-bind="submit: provViewModel.updateWorksheet"我对表单标签上的 knockoutjs 属性做错了吗?

控制器通过以下方法接收 json:

表单标签和提交按钮如下所示:

这是 viewModel 声明(遗漏了很多)

0 投票
2 回答
3739 浏览

backbone.js - 使用 Backbone.js pushstate 进行 seo/书签时重用服务器上的主干视图/路由

我正在对单页应用程序的主干进行一些尽职调查,并想知道是否可以在服务器端重用来自客户端的相同视图/路由,以便当谷歌访问 pushstate URL 或访问它时直接,服务器可以生成与主干在客户端生成的完全相同的 HTML。

必须维护两组独立的视图/路由,一组在客户端,一组在服务器上,这将是一件痛苦的事情。我在 github 上看到了 backnode 项目,但是这似乎有点忽略了这一点,您最终不得不两次编写相同的骨干路由器。

只是想知道当在主干中使用 pushstate url 并需要从服务器提供相同的视图时,人们通常如何处理这种情况?人们是在复制代码还是有更好的方法?

0 投票
9 回答
33383 浏览

javascript - “单页” JS 网站和 SEO

现在有很多很酷的工具可以用来制作强大的“单页”JavaScript 网站。在我看来,通过让服务器充当 API(仅此而已)并让客户端处理所有 HTML 生成内容,这是正确的。这种“模式”的问题在于缺乏搜索引擎支持。我可以想到两个解决方案:

  1. 当用户进入网站时,让服务器完全按照客户端在导航时呈现的页面。因此,如果我直接访问,服务器将呈现与通过 pushStatehttp://example.com/my_path访问客户端相同的内容。/my_path
  2. 让服务器只为搜索引擎机器人提供一个特殊的网站。如果一个普通用户访问http://example.com/my_path服务器应该给他一个 JavaScript 重版本的网站。但是如果谷歌机器人访问,服务器应该给它一些我希望谷歌索引的内容的最小 HTML。

第一个解决方案在这里进一步讨论。我一直在做一个网站,这不是一个很好的体验。它不是 DRY,就我而言,我不得不为客户端和服务器使用两个不同的模板引擎。

我想我已经看到了一些好的 ol' Flash 网站的第二种解决方案。我比第一种方法更喜欢这种方法,并且使用服务器上的正确工具可以轻松完成。

所以我真正想知道的是以下几点:

  • 你能想出更好的解决方案吗?
  • 第二种解决方案有什么缺点?如果 Google 以某种方式发现我为 Google bot 提供的内容与普通用户不同,那么我会在搜索结果中受到惩罚吗?
0 投票
1 回答
18408 浏览

javascript - 如何在单页应用程序中使用 #-URL?

这篇文章提出了一个非常有说服力的论点,因为 URL 是长期存在的(它们被添加到书签并被传递),它们应该是有意义的,并且使用散列进行真正的路由(确定页面上显示的数据和/或状态)应用程序)因此是不适当的。但是,当我尝试在我的单页应用程序中实际执行此操作时,我遇到了一个问题:如何呈现我的链接以便所有浏览器都可以使用该应用程序?在我看来,有三种选择:

  1. 所有hrefs 都有一个#/前缀。这在 HTML4 浏览器中效果很好。在 HTML5 浏览器中,我可以添加重定向到无哈希版本的Sammy路由,这也很有效。浏览器将链接标记为未访问时或未将链接标记为已访问时可能存在问题。另一个问题是它……错了。通过右键单击链接并选择“复制链接 URL”来共享链接的任何人都将发送一个有效但笨拙的 URL。
  2. no hrefs 有#/前缀。据我所知,HTML4 浏览器将无法拦截这些链接点击,这意味着每一次都会导致页面刷新。尽管应用程序可能仍然可以运行,因为我可以在页面加载时使用 Sammy 路由将无哈希版本重写为哈希版本,但页面加载会降低单页应用程序的性能。
  3. 我动态确定是否添加前缀#/。这意味着我的所有链接都必须具有动态标记,这会使应用程序变得非常复杂。
0 投票
1 回答
458 浏览

ajax - Dojango - Dojo + Django,如何为 AJAX “包装” django.contrib.auth 和 django-registration,单页使用

我是 Dojo 和 Django 的新手。也就是说,我正在尝试编写一个单页应用程序,但我不明白如何利用 Django 的内置身份验证工具,因为它们是围绕传统的 Django 每页视图模型设计的。

我希望在<div dojoType="dijit.layout.contentPane" id="mainPane"></div>. 我已经掌握了将视图呈现为 Dojango 的@json_response显示方式;但是,我不知道如何“包装”现有视图,以便它们不会期望页面加载。

单页 Django 应用程序有什么常规策略吗?我喜欢 Django 的 ORM 和 Dojo 的 UI,但它们似乎很难完全集成。谢谢。

编辑:为了更明确,我想要这样的流程:

  1. 用户单击“DO_IT”按钮。
  2. Dojo xhrGETs DO_IT 表单并用它替换 MAINPANE 的内容。
  3. 用户使用 DO_IT 表单执行某些操作,并且 dojo xhrPOSTs 用户的操作。
  4. Dojo 将 MAINPANE 的内容替换为响应。
  5. 利润

完成此任务的最佳/传统/常见/记录最多的方法是什么。我知道可能有很多可能的方法。我正在寻找一些不太容易 f@#$-up 作为新手的东西。

0 投票
3 回答
1091 浏览

javascript - 单页应用(网站)的工具框架

再会!

这里有许多类似的问题,但我对构建单页 Web 应用程序的这些方面特别感兴趣:

  • 哪些服务器组件非常适合大量 AJAX 请求(可能是 Node.js)?我的服务器平台是 *nix (Debian) 和 PHP。

  • 何时以及如何需要用 COMET 替换 AJAX,我可以使用相同的服务器端吗?

  • 哪些 javascript 框架可以帮助我组织客户端(我的意思是 MVC、MVVM、客户端模板)?

非常感谢有关总体方法和架构模式的任何优点。

谢谢!

0 投票
1 回答
458 浏览

model-view-controller - 组织单页应用程序整体架构的模式

再会!

我开始使用客户端 MVC(查看 JavaScriptMVC、Knockout.js 等),我对整体架构有疑问。假设我有一页应用程序。它有许多屏幕(例如,主屏幕、设置、用户配置文件等)。据我了解,这些“屏幕”中的每一个都应该是一个单独的 M、V、C 三元组。

如何组织这个屏幕?他们应该有什么样的生命周期?

在服务器端 MVC 中,我们有一个前端控制器、URL 路由等。客户端的替代品是什么?

0 投票
4 回答
2370 浏览

c# - 创建单页应用程序的最佳实践是什么?

一般而言,在创建单页应用程序(完全依赖 ajax)时不要忘记或考虑的最重要的事情是什么?或者对 MVC 有什么特别的考虑?

0 投票
1 回答
831 浏览

asp.net-mvc-4 - asp.net MVC 4 示例中的单页应用程序“Big Shelf”是否对 SEO 友好?

这是SPA 的架构,来自 Microsoft 的“Big Shelf”

像这样构建的页面对 SEO 友好吗?如果我以这种方式构建我的应用程序,它是否可以被 Bing/Google/Yahoo 等索引?

我喜欢 SPA 的很多好处,但似乎 SEO 在这里会是一个巨大的负面影响。