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

ES6 101 - Lexical Declarations - Const

Spatial Unlimited changes to The UI Dev After being hosted on blogger 😣 for the last 6 years πŸ“†, this page has finally been moved to Github.io This means a few things for you, dear reader! You will be redirected to the new page shortly! ⏩ ⏩ ⏩ Once crapy HTML is now better looking Markdown ! 😍 😍 The entire blog is a Github repo ! 😍 😍 Spatial Unlimited is now The UI Dev 😍 😍

Learning React in #41Tweets

Sounds crazy, right? 😲Not really. It is possible! This is no magic pill ✨ . There is no substitute for practice and experience , but this will get you started and help you make the right decisions in your React journey. When I started with React, the sheer use of ES6 syntax and difference in the coding style, made me not want to use it. But when I learned and practiced ES6 and then learned and practiced React, that is when I truly fell in love with React 😍 I created a Twitter Moment Learning React ⚛️ which is basically a collection of #41Tweets that will get you off the ground on your React journey. I hope you like this new approach to learning React and hope it is helpful in getting you started 🀝Let me know your feedback and keep the conversation going on Twitter 🐦

Drive along - Cool coding

         This is something that will demonstrate to you the power of mapping! This is a Google Maps API v2 example, but just copy and paste the code in an html file and you will see something very cool! This will prove that mapping is real fun!          Let's have a look at the code first. Copy this code in your html file. Don't worry about the length of the code and the post in general. Just execute the code and you will surely enjoy what you see! <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title> Drive Along </title> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAu3HXU_hLdVPTFGqLed_FCxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQbblEPYBGNoRsuuSU9aBfSq4VAZA" type="text/javascript"> </script> <script src="http://econym.org.uk/gmap/epoly.js" type="text/javascript"> ...

ES6 101 - For..of

Spatial Unlimited changes to The UI Dev After being hosted on blogger 😣 for the last 6 years πŸ“†, this page has finally been moved to Github.io This means a few things for you, dear reader! You will be redirected to the new page shortly! ⏩ ⏩ ⏩ Once crapy HTML is now better looking Markdown ! 😍 😍 The entire blog is a Github repo ! 😍 😍 Spatial Unlimited is now The UI Dev 😍 😍

The Street View Army

    Google's Street Views have caused controversy more often than not. Sometimes for privacy issues, sometimes for security reasons. But whatever the media has to say, we can't deny the fact that Google Street Views has brought the entire world at your finger tips. You can visit places that you would not be able to visit ever. You can walk the roads, that you had only imagined of treading. You can experience for yourself, various cultures, events, religions and lives of people across the globe all at the comfort of your home. You can visit the deserts, the snow clad mountains, the giant rivers or the gushing waterfalls. Today, let's take a look at the efforts Google is taking to capture the world for us. Google Street View Car     Aha! We all know this vehical. More popular than the Mercs and the BMWs, this street view car has roamed the streets of many a cities since May 25, 2007. Street Views started out as an experimental project with a SUV pac...