我有一个网站,有两个版本,所有人都在唱歌所有跳舞的javascript应用程序,当你请求根网址时提供
/
当您浏览可爱的网站时,内容会更新,网址也会更新,这要归功于html5推送状态或旧版格式正确#!网址。但是,如果您没有启用JavaScript,则仍然可以使用该网站的所有功能,因为每条内容也存在于其自己的网址下。这很好,有三个原因
第三个原因对我来说非常重要,因为每个内容都必须在网站上单独共享。而且由于每条内容都有自己的网址,因此很容易深层链接到该网址,每条内容都可以拥有自己特定的开放图形数据。
然而,我遇到的问题如下。你是一个正常的人,并启用了JavaScript,你正在网站上浏览和图像库,并决定分享你找到的可爱的猫的图片。使用javascript,网址已更新为
/画廊/可爱-CAT
您分享此网址,并且您的朋友点击它。当他们点击链接时,服务器会向您发送该站点的非javascript / web爬虫版本,如果您直接访问该站点的根目录,那么您的体验就不会像javascript版本那样好。在那里航行。
有没有人有一个很好的解决方案/替代设置来解决这个问题?我有几个黑客工作,但我对他们并不满意。它们包括:
我不是特别喜欢这两种解决方案,但却无法想到更好的解决方案。渲染每个页面的整个javascript应用程序对我来说似乎不是一个解决方案,因为当你开始导航时,你最终会看到糟糕的网址,比如/ gallery / lovely-cat / gallery / another-lovely-cat通过网站。
我的解决方案必须支持未实现推送状态的旧浏览器
答案 0 :(得分:1)
制作网站"非javascript /网络抓取工具版本"与JavaScript版本相同。只需在服务器上构建HTML而不是客户端上的DOM。
为每个页面呈现整个javascript应用程序似乎不是我的解决方案,
这是强有力的方法
因为你最终会看到糟糕的网址,例如/ gallery / lovely-cat / gallery / another-lovely-cat
仅当您将{和pushState
ed)链接到gallery/another-lovely-cat
而不是/gallery/another-lovely-cat
时。 (注意前面的/
。
答案 1 :(得分:0)
尝试这个插件可能会解决你的第三个原因,还有两个原因。