Note that there are some explanatory texts on larger screens.

plurals
  1. POMultipage vs Single Page and Unobtrusive Javascript
    primarykey
    data
    text
    <p>I have a section of a site with multiple categories of Widget. There is a menu with each category name. For anybody with Javascript enabled, clicking a category reveals the content of the category within the page. They can click between categories at will, seeing the DOM updated as needed. The url is also updated using the standard hash/hashbang (if we are being Google-friendly). So for somebody who lands on <code>example.com/widgets</code>, they can navigate around to <code>example.com/widgets#one</code>, <code>example.com/widgets#two</code>, <code>example.com/widgets#three</code> etc.</p> <p>However, to support user agents without Javascript enabled, following one of these category links must load a new page with the category displayed, so for someone without javascript enabled, they would navigate to <code>example.com/widgets/one</code>, <code>example.com/widgets/two</code>, <code>example.com/widgets/three</code> etc.</p> <p>My question is: <strong>What should happen when somebody <em>with Javascript enabled</em> lands on one of these URLS? What should someone <em>with Javascript enabled</em> be presented with when landing on <code>example.com/widgets/one</code> for example? Should they be redirected to <code>example.com/widgets#one</code>?</strong></p> <p><em>Please note that I need a single page site experience for anybody with Javascript enabled, but I want a multi-page site for a user agent without JavaScript. Any answer that doesn't address this fact doesn't answer the question. I am not interested in the merits or problems of hashbangs or single-page-sites vs multi-page-sites.</em></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload