Skip to main content

Jquery Mobile - Single Page Structure

    We have been introduced to Jquery Mobile and have also seen some of the key features of the rich web framework in the previous posts. Today we will take a look at a general page structure using Jquery Mobile. So be ready to start off programming using Jquery Mobile.

    The Jquery Mobile page structure is optimized to support a single page or local, internally linked multiple pages. What does this mean? Well, single page architecture means, having multiple pages that are linked to each other using the normal process of using the anchor tag. So, each page will have its own header, content and footer. The multiple page structure is basically having multiple pages in one single page within different DIVs. So each page becomes a DIV which is linked to another page using an id for that particular page DIV.

    The multiple page architecture, though available is not popularly used because it results in a performance issue. The DOM becomes heavy as multiple pages load at the same time and the website becomes sloppy for the user. The multiple page architecture can be used for websites which are only content based with just 4-5 pages in it. However, for a decent enough website or an application, using the single page architecture makes more sense.

    If the above 2 paragraphs have not made any sense to you, do not get discouraged, take a look at the following to examples, and things will become much more clear.

Example #1:
    The following example shows a general structure of a page using Jquery Mobile. Take a look at the example, the code the result and I will explain the components of the code in further detail.



    You must have already taken a look at the example above. Let's begin with the important parts of the code first.
  • The HTML5 doctype - The HTML5 doctype has to be used to extract the maximum out of this framework. Any device with a browser that does not understand the HTML5 doctype ignores the doctype and custom Jquery Mobile attributes.
  • The viewport meta tag - The viewport meta tag tells the browser how the page zoom levels and dimensions are to be displayed. By setting the viewport attributes to content="width=device-width, initial-scale=1", the width will be set to the pixel width of the device screen. Now here, we are faced with an obvious question?
    • What happens if the viewport meta tag is not included?
      • In one line; your page would look bad. If the meta tag isn't set, many mobile browsers will use a "virtual" page width around 900 pixels to make it work well with existing desktop sites but the screens may look zoomed out and too wide.
    • However, there is a problem with the usage of this meta tag. The page still can be zoomed, and though Jquery Mobile says its a feature, many a times it is not desirable. To restrict the zooming of the browser, we need to use a more better and refined meta tag, the details of which you will find in this post.
  • Links to Jquery Mobile style-sheet and javascript files and the jquery javascript file.
    Let's come to the body of the code. You would have observed a few things like "data-role=page", "data-role=header", "data-role=content" and "data-role=footer". Inside the  tag, each view or "page" on the mobile device is identified with an element (usually a div) with the data-role="page" attribute. Although the page structure outlined above is a recommended approach for a standard web app built with jQuery Mobile, the framework is very flexible with document structure. The page, header, content, and footer data-role elements are optional and are mostly helpful for providing some basic formatting and structure.

UPDATE: The following example makes use of the next stable version of Jquery Mobile 1.3.1


    Here, we conclude our today's discussion on the Jquery Mobile Single Page structure. We would discuss the Multi-page structure in the further post. Including the multi-page structure in this post would make the post really lengthy and hence we will discuss this in the next post. Do let me know, if you have followed the post and also if you haven't, of any mistakes that you would have come across in this post.

    Hope you enjoy coding using Jquery Mobile and share this post if you have liked it. You can also follow the blog on Facebook by liking the Spatial Unlimited page.

Comments

Recommended for You

Playing with the markers and info window bubbles...

    In the last few posts, we have seen some marker examples and some information window examples. Now, lets do something interesting combining these two things. Just writing that "This is an info window" in the information bubble is not very interesting! And I know this...Have gone through the same phase!     So, today we will do something interesting! We will display the latitude- longitude co-ordinates of the point that the user clicks on the map! Doing this is not at all complex! Copy paste the following code and you will see for yourself a map coming to life!     The output of the above code looks as seen in the result section above! If you have any queries regarding the above code please comment on the blog post or feel free to contact me at my mail ID .

Ground Truth - How Google Builds Maps

    Todays's article is cross posted from The Atlantic 's Tech section. The article was posted by Alexis Madrigal who is a senior editor at The Atlantic , where he oversees the Technology channel. So, thanks to The Atlantic and Alexis Madrigal, we will have an exclusive look inside Ground Truth , the secretive program to build the world's best accurate maps.     Behind every Google Map, there is a much more complex map that's the key to your queries but hidden from your view. The deep map contains the logic of places: their no-left-turns and freeway on-ramps, speed limits and traffic conditions. This is the data that you're drawing from when you ask Google to navigate you from point A to point B -- and last week, Google showed me the internal map and demonstrated how it was built. It's the first time the company has let anyone watch how the project it calls GT, or "Ground Truth," actually works.     Google opened up at a key moment in its evo...

Difference between word-break: break-all versus word-wrap: break-word

    The 2 CSS properties  word-break: break-all  and  word-wrap: break-word  appear to work in the same way or generate the same output, but there is a slight difference between the 2 and we will be discussing these differences today.     Take a look at the example above. The difference is quite evident, however I will try to explain it further. word-break: break-all Irrespective of whether it’s a continuous word or many words, break-all breaks them up at the edge of the width limit even within the characters of the same word word-wrap: break-word This will wrap long words onto the next line. break-word adjusts different words so that they do not break in the middle.     So if you have many fixed-size spans which get content dynamically, you might just prefer using  word-wrap: break-word , as that way only the continuous words are broken in between, and in case it’s a sentence comprising many words, the spa...

The Bicycling Layer...

    Recreational cyclists and bike commuters alike can plot cycle-friendly routes, find trails, and avoid snarling traffic with Google Map's Bicycle layer. Map's bike-friendly, green-toned map layer is very eye-pleasing. The Google Maps API allows you to add bicycle information to your maps using the BicyclingLayer object.     The BicyclingLayer renders a layer of bike paths, suggested bike routes and other overlays specific to bicycling usage on top of the given map. Additionally, the layer alters the style of the base map itself to emphasize streets supporting bicycle routes and de-emphasize streets inappropriate for bicycles.     Let us have a look at the following example. The code has a map which is centered at Pune, India. There are very few cycle tracks in Pune and so you will see just a few dark green lines on the map. But if you would change the latitude-longitude values in the code and center the map at USA, then you will see a...

Fusion Table Layer...

    Today we will have a look at the "Fusion Table" Layer example. But before we start with the actual code, we will have a look at what Fusion Table is. Google Fusion Table is a free service for sharing and visualizing data online. It allows you to share data, merge data from multiple tables into interesting derived tables, and see the most up-to-date data from all sources. There is a lot of documentation about Google Fusion Table available on the web. You can visit their home page or the Google Research Blog to gather more information about Fusion Tables.     Let us have a look at the following code. The code is very short and simple to understand!     The few things to look out for in the above code are: The manner in which mapTypeId has been specified! In other Google Maps API v3 examples, we have seen that we specify mapTypeID as ROADMAP, SATELLITE, etc. i.e., all the letters are in uppercase and not in quotes! However, in this...