【问题标题】:Adding URLs to one page web application将 URL 添加到一页 Web 应用程序
【发布时间】:2013-06-16 12:37:08
【问题描述】:
假设我有一个“单页”网络应用程序。 “主页” (index.html) 包含一些 Web 表单,但任何时候都只显示一个表单。加载应用程序时,页面中仅显示form A。该页面还包含一个按钮,该按钮隐藏form A并显示form B。
现在我想添加一个新的 URL,它显示 form B(但不是 form A)。
正确的做法是什么?
【问题讨论】:
标签:
javascript
html
url
web-applications
【解决方案1】:
- 使其作为多页应用程序工作(使用常规链接转到其他表单等)
- 添加 JavaScript(到两个页面),以便页面在状态之间切换,而不是执行链接的默认操作
- 使用
pushState and friends将URL更改为第二页的URL
【解决方案2】:
我同意昆汀的观点,我相信你应该有多个页面。但根据您当前的需求,您可以执行以下操作:
您为所有表单提供了一个 ID。比如你有form A、form B和form C,你可以给它们分别指定“A”、“B”和“C”的id。
在 URL 中,您可以定义一个名为 formid 的 GET 参数,例如:
http://www.yourpage.something?formid="B"
-
所有的表单都应该有一个类,我们称之为 foo 定义为:
富{
显示:无;
}
-
当文档加载完毕后,用 Javascript 读取 formid GET 参数的值,假设你在一个名为 myformid 的变量中拥有它。那么:
$("#" + myformid).removeClass("foo");