Top 5 Ways To Earn Money Online Without Investment

Here I have explained here all of you to how we earn money online without any investment through your end

To complete your basic needs every body need money. Every one can spend their best effort to to earn money and full their basic needs. So basically here I will tell about some basic and top 5 ways to earn money online. So let’s start. And here we go.

1. From Blogging:

Blogging is the best method to earn money online. Many new bloggers are coming every year in the industry so the competition is tough. What you can earn a living from Blogging if your blog gets famous.

Here how you can start blogging. If you want you can start blogging on Google’s self-hosted platform blogger for free. You can Create a website using a custom domain to start blogging.But the main thing is getting traffic on your site. You can try viral marketing or social media platform to generate can earn money from Blogging by google Adsense ads. There are many other ads you can use to monetize your blog.

2. Youtube:

Youtube is another one good way to earn money online.You just have to create a channel on YouTube using your email address.According to the youtube policies when you get 10000 views on your channel you can monetize your channel using Google Adsense. Adsense is the best method to earn money from youtube.

If your channel gets famous. You can also earn money by affiliate marketing. By selling products in your videos. Another way to earn is from live video by demanding the tip from them during video live.

3. Facebook Fan page:

You can earn good money through facebook. You can earn money from facebook by creating a facebook page. By direct selling stuff to your audience.

You can earn money from facebook page by doing affiliate marketing on your FB fan page. Another way from earning money from facebook page is promoting others products on your page.

4. By Typing jobs.

You can earn money from different types of online typing jobs. The famous ones are mega types and 2captcha. But their price is not good speaking frankly. You can’t earn more from this method.

You can only earn 100 to 200 rs every day from this method.

5. By freelancing:

You can earn money by becoming a freelancer. A very famous site for a freelancer is Fiverr. Where you can sell your work online. You just have to create an id on there. Then just create a gag about what you can do and how much money you want from that particular work.

After creating it. If someone wants gig from you. He will contact through Fiverr and you can earn money.

6. Mystery Shopper

In this concept, you have to become a secret agent of the company & try different products of the company at their outlets.

Here you have to check your experience as a client & submit your feedback to the company.

e.g. Raymond wants to know, what treatment their customers get when they go for shopping at their outlet in a particular city.

Or a chain of hotels wants to know, how their customers feel while they stay at their hotels.

You have to actually shop or stay at hotels & all the expenses are provided by the company.

You will get paid for all these real experiences.

7. Buy Sell Domain

If you are looking for something that can make you great money then this business idea is for you. You can buy domains at low prices from GoDaddy or other domain registrar and then sell it to the needy people for a much higher price.

Here you need to do the research to find good domains and book them. After some time, you can put your domains for auctions.

You can get minimum 10 times to 1000 times of the original domain price depending on the quality of the domain name.

8. Sell Photos Online

This is another online job you can earn a good income from. Nowadays, everyone has got their own smartphone.

If you like to shoot good photos of nature, animals, real life incidents, places etc. then you can sell your photos on a number of photo selling websites like PhotoBucket, Shutterstock, iStock etc.

So next time, you use your mobile phone to shoot photos, you try to catch good photographs and sell these photos on the above sites.

9. Selling Online

If after reading the title “selling online”, you think, this work is not for you then you are wrong.

There are many normal people like you who are earning good regular income by selling different products on sites like eBay, Amazon, Flipkart and others.

You just need to find out a good product, signup on any or all of these sites, list your product with your price and start selling the same.

You don’t need to talk to anyone to sell online on these sites. You will receive the order in your mailbox and then deliver the same through a courier or post.

So you can see, there are numerous ways of earning money from online jobs sitting at home. All you have to do is review them thoroughly & then focus on one that fits in your interest.


Free Resources To Learn Creating WordPress Plugins

Everyone, who has WordPress as their CMS platform, makes use of plugins for bringing extra functionalities quickly! Sometimes however need arises such that you have to write codes expanding several lines, because plugins do not have what you specifically want. And if you run multiple blogs or sites, copying codes to each would be a daunting task at times! So won’t it be nice if you can put all these required codes in a custom plugin? Obviously, it will make many things smoother than before.

That is why today we have decided to make a post on the best free resources teaching how to create WordPress plugins :

Beginner’s guide to WordPress plugin development –

Although not a complete tutorial, this particular post by Hongkiat would definitely be a nice starting point, especially for beginners. It has clearly explained different essential parts involving creation of a plugin. By simply going through this guide, you will be able to have a grasp of all the basics, such as structure and location of plugin folders, importance and usage of filers and hooks, and so on.

Published on Smashing Magazine – a well-known resource for web enthusiasts, this one is a step-by-step guide to plugin creation. It has explained the entire process using a ‘real’ example, which you can try on your own, and get practical knowledge! The best thing about this guide is its discussion on how you should allow the plugin cleanup itself once deactivated/uninstalled, and how you would maintain security aspects. Creating a plugin just by knowing the basics can be something easy, but if you do not know ways to secure it or make not-so-messy, issues may show up later! And this guide from Smashing Magazine would help you know all these.

Create a custom WordPress plugin from scratch –

This guide was published back in 2009, and in next four years, WordPress has changed a lot! But still you could refer to it as a beginner’s guide without a problem. So what makes it different from the other free WordPress plugin coding resources mentioned above? Well, you will learn how to set up a configuration or settings page for your plugin. WordPress comes with some built-in functions, which allows us easily create top-level as well as sub menus, followed by API functions to allow us easily perform database manipulation! It is likely that your plugin would need them, and this guide from Tutsplus will teach you that.

Writing a plugin – WordPress Codex:

Now this resource won’t need any special introduction since it is the base of all other free and premium guides teaching WordPress plugin development! In case you have not checked it yet, we insist that you should do it right away. In fact, it is recommended that you must consult this section of WordPress codex while going through any other guides or tutorials.

So far we have discussed four important free resources on WordPress plugin creation. No doubt there would be many more on the Internet, but we think it is not nice to get confused learning the same matters over and over, but in different expressions! The ones we have mentioned here are appropriate for beginners, and feature a simplified approach toward teaching plugin development techniques.

, ,

Add Google Adsense Ad Under the Header in WordPress Websites

Google adsense produce large amount of revenue if you can use it properly. To increase your ads ability on your website you need to placing ads on different  places of your website. On wordprss it is easy to place ads on sidebar, footer and main content of page, but is is difficult to place ad on header section and within to structure of blog.

So here I wants to explain you how you can place your ads on the header section of your website. It is necessary to place ads on header because this is top section of every page so the chances of getting click form the visitors more in header section.After few research we found that Ads under Navigation Menu works GREAT. Its CTR is high.

You can use different Ads like Leaderboard (728 x 90) or (728×15) Displays 4 links. For me, Link Unit generates more click, though earning isn’t so high.

So in this post I’ll show you how to add Adsense ad under nav menu in WordPress.

How to Add Google Adsense Ads on Header section

If you are going to use Link Unit then I suggest you to make it look like navigation bar. Change the background and text link color according to your navigation menu just like this:


For Leaderboard, use Image/rich media ads only.

Now follow the simple steps.

1. At first, Login your Adsense Account and create you desire ad unit. Copy the code.

2. After copying the code, login to WordPress dashboard. Go to Editor and Find Header.php file on the editor.

3. Open the header.php file and paste the Adsense codes at the bottom of the file.

4. To make it center just use the center tags like <center>Google Adsense Code</center>.

That’s it you’re DONE. 

If you’re using Thesis 1.8 then just follow the bellow steps.

1. At first take a back up of your custom_functions.php and Custom.css file which are to be used in this steps. In case of any mistake you can back up will help you.
2. Now put the following code in your custom_functions.php file.

function addmenu() { ?>
<ul id=”addmenu”>
<?php }

Click on save button.

3. Then put the following code on your css file.

.custom ul#addmenu {
height: 20px;
background:#E6E6E6 none repeat scroll 0 0;
padding-top: 5px;
width: 100%;

Click on save button and you are done.

I hope this article is helpful for you. And you can enjoy your blogging with you adsense acccount.


Top 8 Free Affiliate Programs That Pay For Free Sign Up

Affiliate marketing is one of the lucrative approaches to profit on the web. Be that as it may, it is difficult. The majority of the subsidiary projects oblige you to pitch something to get the commission.

The uplifting news is, some partner programs permit you to profit with the expectation of complimentary recruits. It is called Pay Per Lead Affiliate Programs. You will get the commission with the expectation of complimentary recruits.

It’s relatively simple to profit from these member programs. In any case, it’s hard to discover the Pay Per Lead (PPL) partner programs that work. Regardless of the possibility that some CPA based Affiliate systems like Peerfly, Maxbounty, and so forth offer PPL offers, it’s difficult to get endorsed by this offshoot systems. To make things less demanding, will impart some such projects to you.

Here is the rundown of 10 member programs that compensation for nothing information exchanges (Pay per lead).



Payoneer is a global payment solution which is considered as one of the best PayPal alternatives. It has both Referral Program and Affiliate Program. Though it doesn’t pay just for the sign-up, the programs have great potential to earn you money.

Here’s what it offers to the referral:

  • A Free Payoneer MasterCard delivered to home.
  • A Free Virtual US Bank Account to get global payments.
  • $25 Reward to referral when s/he receives payments of $100.

Typically, it offers $25 reward to both the affiliate and referred user once the user makes a transaction of $100. But reward can be increased based on performance.

If you haven’t applied for Payoneer MasterCard, you can sign up through my referral link and earn $50 bonus.


Grammarly is a grammar, punctuation, and plagiarism checker. If you are a non-native English speaker like me, then Grammarly is the best solution for you to write flawless content.

It has an amazing affiliate program that offers $0.20 for free registration and $20 once the user upgrades to the premium plan. The great thing is that Grammarly offers $25 bonus just for placing a banner or write a blog post about Grammarly.

You can join Grammarly Affiliate Program through ShareASale or But I prefer their self-hosted program.


CreativeLive is a live streaming education website. It has more than 1500 curated classes by over 650 expert instructors all over the world. It offers a variety of courses.

CreativeLive affiliate program offers $1 lead for every new member registration.


DMCA (Digital Millennium Copyright Act) helps you to protect your contents. If someone copies your original content, you can remove it by taking help from DMCA service. Moreover, you can add DMCA badge to your blog (link) to deter content thieves.

It has an affiliate program that offers $0.25 for every sign up you refer. You can also earn $10-$25 for each sale. You can join its affiliate program through ShareASale or their own affiliate program.

VigLink is an affiliate aggregator service which has thousands of affiliate programs on its directory. Using VigLink is the easiest way of monetizing a blog with affiliate marketing. It offers both CPC and CPA based affiliate programs.

VigLink allows you to earn 35% of their commission for each user you refer to them.


JustCloud is an online backup service that offers $5 for free trial account signup. That means if someone tries their service through your affiliate link, you will make $5. And if the user upgrades to paid plan, you will get $120.


FreshBooks is a cloud-based accounting software for small business owner. It allows you to send invoices, track time, manage receipts & expenses, and accept credit cards.

It has an excellent affiliate program that lets you make $5 per free trial sign up. And the great thing is that it does not require the credit card information of the user to try their 30 days free trial. You can also earn $55 when the free trial account subscriber upgrades to paid plan.


As the name suggests, it is a paid review site that connects bloggers with advertisers. Bloggers can make money by writing honest reviews of advertisers’ products or services.

You can also earn money by referring people to It offers $175 per advertiser and $90 per Blogger referred.

, , , ,

The most effective method to settle “google maps oops something went wrong” error

Are you seeing “Google maps oops something went wrong” in place of maps on your website? This error has become a lot more common since Google Maps started requiring an API key on June 22, 2016 (after about 10 years of allowing keyless use). If you started using Google Maps on your website on or after that date then you will need to sign up for and implement a free API key (older users still do not need a key).

Google has not made setting up an API key a very user-friendly process. Their interface is geared towards developers. As such, many users have trouble correctly creating a key. This guide is not just for our WordPress theme and plugin users but for anybody on the Internet who wants to know how to fix the “This page didn’t load Google Maps correctly” error on their website.

Find the Cause of “Google maps oops something went wrong”

First, let’s find out exactly why the “This page didn’t load Google Maps correctly” error is showing. There are multiple things that can cause it but fortunately Google gives us a way to learn the specific reason. This helps us know what to do to fix it. Notice the last part of the error says to open the JavaScript console for “technical details”. That’s what we need.

Oops! Something went wrong. This page didn’t load Google Maps correctly. See the JavaScript console for technical details.

You can open the JavaScript console in your browser with a few keystrokes. There is an excellent answer on StackOverflow that tells you plainly how to open the JavaScript console in different browsers. After doing that, you should be able to find an entry looking something like this.

Listed below are the most common errors reported by our users.

  • MissingKeyMapError – An API key is not being used
  • RefererNotAllowedMapError – Key doesn’t allow your URL
  • ApiNotActivatedMapError – API is not enabled
  • InvalidKeyMapError – The API key used is incorrect
  • How to Fix Other Errors – More errors are possible

Fix the “google maps oops something went wrong” Error

Since you know precisely what is bringing on the mistake, you can settle it. Here are fixes for the most widely recognized Google Maps API mistakes appeared in the support.

Instructions to Fix MissingKeyMapError

MissingKeyMapError implies you are not utilizing an API key and should agree to accept one then arrange your site to utilize it. Sites that began utilizing Google Maps on or after June 22, 2016 require an API enter with the goal for maps to appear.

Create a Google Maps API Key

Follow these steps to create and implement a free Google Maps API Key.

  1. Start Google’s Get a Key process then log into your Google account (or create one).
  2. Click Agree and continue to create a new project representing your website.

3. Under Accept requests, add the two entries below (replacing yourname.comwith your own domain). Type the first entry then hit enter on your keyboard to add it. Repeat to add the second entry. Having both entries (with asterisks) will help ensure your maps work on any URL of your website.*
4. Click Create then copy your key that is now shown on the screen.
5. If you’re using our WordPress plugin, go to Settings > earn web tech Theme Contentand paste your key into the Google Maps API Key field then click Save Changes. Otherwise, do similar according to the product you’re using.

Note: Google says it can take up to 5 minutes for your key to become active. We’ve heard reports of it taking 30 minutes or longer. Keep this in mind if your maps do not show right away.

How to Fix RefererNotAllowedMapError

RefererNotAllowedMapError is the most common error we’ve seen apart from not using a key. The console will also say, “Your site URL to be authorized”. It relates to Step 3 above when creating your key. Here’s how to fix the error.

  1. Go to
  2. Click your API key’s name to edit its settings.
  3. Under Accept requests, make sure you have the two entries below (replacing with your own domain). Type the first entry then hit enter on your keyboard to add it. Repeat to add the second entry. Having both entries (with asterisks) will help ensure your maps work on any URL of your website.*

4. Click the Save button then wait a few minutes for the change to take effect (Google says it can take up to 5 minutes).

Tip: If you have multiple projects, make sure you are working with the correct one by using the dropdown at the top-right.

How to Fix ApiNotActivatedMapError

Google Maps has 16 different API’s at the time of writing. Yes, I said sixteen! The Google Maps JavaScript API is the most popular. Whichever API you are using, it’s possible that it is not enabled in your account. Let’s fix the ApiNotActivatedMapError error by enabling the API you’re using.

  1. Go to
  2. Under “Google Maps API’s”, click “More” to see all API’s.

4. Click the API you’re using. Our themes use the Google Maps JavaScript APIand Google Maps Static API.                   Your product may use something different but the JavaScript API is most common.                                                            5. Click the Enable button at the top and wait a few minutes for the changes to take effect (Google says changes can take up to 5 minutes).

5.Repeat for other API’s you’re using (remember, our themes use the Google Maps JavaScript API and Google              Maps Static API).

Tip: If you’re using a different product than ours, you may need to enable a different API. If you’re unsure which API to enable, you can try enabling all of them (or ask your provider).

How to Fix InvalidKeyMapError

InvalidKeyMapError simply means the key you implemented is wrong. In other words, you created it but did not enter it into your website correctly.

  1. Go to
  2. Copy your key.

If you’re using our WordPress plugin, go to Settings > earn web tech Theme Content and paste your key into the Google Maps API Key field then click Save Changes. Otherwise, do similar according to the product you’re using.


, , ,

How to Create Google AdSense Account: the Tutorial

For those who consider Blogging as a profession, there are a number of ways to monetize their blog, such as affiliate marketing, advertisement, paid posts and sponsored posts etc. Nonetheless, when we consider opinion from experts in blogging, it seems that Google AdSense — advertisement network from the Mountain Valley Giant — is the choice of majority. It has to be noted that, in any case, Google AdSense is one of the most trusted, widely used and extremely popular advertising network, especially when it comes to the case of blogs and websites with medium and high traffic. That having said, when it comes to newbies in world of blogging, creating a Google AdSense account and embedding advertisements in your websites or blogs is considered somewhat tiresome! Well, on the contrary, it is a completely simple task to have an AdSense account and thus start earning from your blog or website. In this article, we will have a step-by-step tutorial to create an AdSense account. Yet, we guess a brief introduction to AdSense will be helpful for newbies out there.

Google AdSense

As we mentioned, Google AdSense is an advertising network from Google Inc that is meant to let publishers of blogs and websites show advertisements along with their content. The program works based on pay per click basis and it is indeed a powerful source of revenue if you have a website or blog with huge reach. As of now, Google AdSense does offer different methods to receive earnings, including EFT and Wire Transfer and minimum requirement of earning is $100. And, for the technical aspect, Google AdSense works based on JavaScript and you have to simply insert codes into your websites or blogs to enable Google AdSense and start earning!

Step One

First, you have to visit sign-up page of Google AdSense; you can follow this link to reach the particular page! To move on with registration process of Google AdSense, you must have a Google Account. As a blogger, we guess you will be having a Google account, and you can click on Google Account sign in if so. On the other hand, if you don’t have one Google account, you can create an account using the second link.

Step Two

This is perhaps the most important step of creating an AdSense account! Second section of registration process, ‘Tell us about your content’, is where you have to provide details about your blogs/websites that you are going to insert these advertisements in. First, in the Website Information section, you have to provide URL of your website and the primary language of website.

In the second part of page, Google AdSense Terms and Conditions and Program Policies, you can see some of the most important factors when it comes to Google AdSense. As you might have heard before, policies include prohibition of clicking on your own ads, placing ads in inappropriate websites such as pornography etc. If your website accepts the mentioned aspects, you can click on the ‘Continue’ button.

Step Three

It is the real section of Google AdSense account sign-up process! In order to submit your AdSense application, you’ve to provide contact details of yours. First of all, you have to select country and time zone of yours. In the next section, you have to select which kind of account you have — Business or Individual. You have to be a bit careful here, as the availability of money transfer methods depends upon which kind of account you have. And for your information, you can receive your AdSense revenue through different methods like check, Electronic Funds Transfer and Wire Transfer.

Further, you have to provide your address, to which your revenue checks and PIN will be sent! Here, you have to be quite careful, especially while inputting payee name. Despite the fact that it’s possible for you to change payee name in some countries, it is always appreciated to provide accurate payee name that matches with your bank account. In addition, you have to provide details such as street address, city, state, PIN code and mobile number.

In the third section, you can say how you knew about Google AdSense as well as your preference towards receiving emails from Google. In the latter case, you have an option to select emails that you want in your inbox — you can get a list, consisting of Newsletters, Special Offers etc, to choose from.

Once you have filled in, you can click on ‘Continue’ button given in bottom part of page.

Step Four OR Time to Wait

Well, yeah, as you have submitted your AdSense application, it is the time to wait, because Google AdSense team is, nowadays, a bit strict about letting bloggers use their advertising networks. So, the team will review various aspects of your website or blog and mail you.

If your AdSense account has been accepted by the team, you have a few jobs left such as inputting tax information of yours, providing your AdSense PIN etc. Once you have completed all these steps, you will be able to be smooth when it comes to managing your Google AdSense account, and receiving your earnings in the convenient format — let it be EFT, checks or wire transfer.

Extra Note

Due to several kinds of frauds in application of Google AdSense, Google has tightened the terms and policies when it comes to Google AdSense approval. Thus, you should be as authentic and credible as possible while providing info in AdSense application. And, we hope this tutorial will be helpful for all to create an AdSense account in less time.

Web developer, Frontend, Backend, DevOps & SEO.
Professional Web Developer, PHP/Laravel, HTML5/CSS3, DevOps, jQuery, Responsive Design, WordPress, SEO.

, , ,

Utilizing the viewport meta tag to control design on Mobile browsers

The upcoming release of Mobile Firefox (Fennec) 1.1 features improved support for the <meta name="viewport"> tag. Previous versions of Fennec supported the width, height, and initial-scale viewport properties, but had problems with some sites designed for iPhone and Android browsers. We now support the same properties Mobile Safari does, and we also changed Fennec to render mobile sites more consistently on screens of different sizes and resolutions.


Mobile browsers like Fennec render pages in a virtual “window” (the viewport), usually wider than the screen, so they don’t need to squeeze every page layout into a tiny window (which would break many non-mobile-optimized sites). Users can pan and zoom to see different areas of the page.

Mobile Safari introduced the “viewport meta tag” to let web developers control the viewport’s size and scale. Many other mobile browsers now support this tag, although it is not part of any web standard. Apple’s documentation does a good job explaining how web developers can use this tag, but we had to do some detective work to figure out exactly how to implement it in Fennec. For example, Safari’s documentation says the content is a “comma-delimited list,” but existing browsers and web pages use any mix of commas, semicolons, and spaces as separators.

Learn more about viewports in different mobile browsers in A Tale of Two Viewports at

Viewport basics

A typical mobile-optimized site contains something like the following:

<meta name="viewport" content="width=device-width, initial-scale=1">

The width property controls the size of the viewport. It can be set to a specific number of pixels like width=600 or to the special value device-width which is the width of the screen in CSS pixels at a scale of 100%. (There are corresponding height and device-height values, which may be useful for pages with elements that change size or position based on the viewport height.)

The initial-scale property controls the zoom level when the page is first loaded. The maximum-scale, minimum-scale, and user-scalableproperties control how users are allowed to zoom the page in or out.

A pixel is not a pixel

The iPhone and many popular Android phones have 3- to 4-inch (7–10 cm) screens with 320—480 pixels (~160 dpi). Firefox for Maemo runs on the Nokia N900, which has the same physical size but 480—800 pixels (~240 dpi). Because of this, the last version of Fennec displayed many pages about one third smaller (in actual, physical size) than iPhone or Android. This caused usability and readability problems on many touch-optimized web sites. Peter-Paul Koch wrote about this problem in A pixel is not a pixel.

Fennec 1.1 for Maemo will use 1.5 hardware pixels for each CSS “pixel,” following the lead of Android’s WebKit-based browser. This means a page with initial-scale=1 will render at close to the same physical size in Fennec for Maemo, Mobile Safari for iPhone, and the Android Browser on both HDPI and MDPI phones. This is consistent with the CSS 2.1 specification, which says:

If the pixel density of the output device is very different from that of a typical computer display, the user agent should rescale pixel values. It is recommended that the pixel unit refer to the whole number of device pixels that best approximates the reference pixel. It is recommended that the reference pixel be the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm’s length.

For web developers, this means that 320px be full width in portrait mode at scale=1, on all of the above-mentioned handheld devices, and they may size their layouts and images accordingly. But remember that not all mobile devices are the same width; you should also make sure that your pages work well in landscape mode, and on larger devices like the iPad and Android tablets.

On 240-dpi screens, pages with initial-scale=1 will effectively be zoomed to 150% by both Fennec and Android WebKit. Their text will be smooth and crisp, but their bitmap images will probably not take advantage of the full screen resolution. To get sharper images on these screens, web developers may want to design images – or whole layouts – at 150% of their final size (or 200%, to support 320-dpi devices such as a retina display iPhone) and then scale them down using CSS or viewport properties.

The default ratio depends on the display density.  On a display with density less than 200dpi, the ratio is 1.0.  On displays with density between 200 and 300dpi, the ratio is 1.5.  For displays with density over 300dpi, the ratio is the integer floor(density/150dpi).  Note that the default ratio is true only when the viewport scale equals 1. Otherwise, the relationship between CSS pixels and device pixels depends on the current zoom level.

Viewport width and screen width

Many sites set their viewport to "width=320, initial-scale=1" to fit precisely onto the iPhone display in portrait mode. As mentioned above, this caused problems when Fennec 1.0 rendered these sites, especially in landscape mode. To fix this, Fennec 1.1 will expand the viewport width if necessary to fill the screen at the requested scale. This matches the behavior of Android and Mobile Safari, and is especially useful on large-screen devices like the iPad. (Allen Pike’s Choosing a viewport for iPad sites has a good explanation for web developers.)

For pages that set an initial or maximum scale, this means the width property actually translates into a minimum viewport width. For example, if your layout needs at least 500 pixels of width then you can use the following markup. When the screen is more than 500 pixels wide, the browser will expand the viewport (rather than zoom in) to fit the screen:

<meta name="viewport" content="width=500, initial-scale=1">

Fennec 1.1 also adds support for minimum-scale, maximum-scale, and user-scalable, with defaults and limits similar to Safari’s. These properties affect the initial scale and width, as well as limiting changes in zoom level.

Mobile browsers handle orientation changes slightly differently. For example, Mobile Safari often just zooms the page when changing from portrait to landscape, instead of laying out the page as it would if originally loaded in landscape. If web developers want their scale settings to remain consistent when switching orientations on the iPhone, they must add a maximum-scale value to prevent this zooming, which has the sometimes-unwanted side effect of preventing users from zooming in:

<meta name="viewport" content="initial-scale=1, maximum-scale=1">

This is not necessary in Fennec; when the device changes orientation, Fennec updates the viewport size, the page layout, and JavaScript/CSS properties like device-width, based on its new window dimensions.

Common viewport sizes for mobile and tablet devices

If want to know what mobile and tablet devices have which viewport widths, there is a comprehensive list of mobile and tablet viewport sizes here. This gives information such as viewport width on portrait and landscape orientation as well as physical screen size, operating system and the pixel density of the device.


Specification Status Comment
CSS Device Adaptation
The definition of ‘<meta name=”viewport”>’ in that specification.
Working Draft Non-normatively describes the Viewport META element

There is clearly demand for the viewport meta tag, since it is supported by most popular mobile browsers and used by thousands of web sites. It would be good to have a true standard for web pages to control viewport properties. As the standardization process proceeds, we at Mozilla will work to keep up to date with any changes.

, , ,

Six Steps to Writing the Perfect Upwork Cover Letter

To succeed as an Upwork freelancer, a great cover letter isn’t optional. It’s crucial.

The moment a job is posted on Upwork, it becomes visible to thousands of people who do exactly what you do. And unlike your middle school gym class, you aren’t competing against 20 neighbors with similar abilities.

You’re applying to the same projects as skilled  $3/hr Filipino writers, $300/hr startup experts from Silicon Valley, and award winning Forbes contributors.

The only way you can land any of these projects is to set yourself apart. And one of the most effective ways to stand out from the competition is to create a killer Upwork cover letter.

How to create an attention-grabbing Upwork cover letter

As an employer sorts through candidates to find the right fit, the first thing she sees is your cover letter. If it impresses her, you have a good chance of winning the contract. However, if the cover letter is poorly constructed or generically copied-and-pasted into the application, she will move on – and your profile won’t get a second glance.

If you do quality work, but are still unable to find new clients, the issue probably has to do with your cover letter.

Add these six elements to your Upwork cover letter and watch the interviews roll in.

1. Start by sharing your qualifications

Why are you more qualified for this project than the other twenty applicants?

If the client doesn’t see a reason to keep you around right at the beginning, they will rapidly move on to the next candidate.

So establish yourself as a professional. Do you have a degree? State it here? Have you worked in the industry? Now’s the perfect time to state this.

But keep it short! If this goes on for more than two or three sentences, you’re going to lose it. The point isn’t to toot your own horn, but to show why you are the right fit for this position.


Ultimately, you want to tell the client why you are qualified for their project, but concisely enough to move on to the rest of your proposal.

2. Make it personal by asking a question

When possible, try to connect with the client – very briefly.

If they include a link to their website, this makes it easy. Otherwise, see if you can pull something from the job description itself.

I’ve noticed that asking a question works best.

Asking a question is essential – whether at this point or at the end of the application. Why? Because it encourages the client to contact you to respond to your question.

“If someone contacts me on Upwork, I have a 50% chance of getting the job.”

I seem to get about 50% of the jobs that I am contacted for. Once the client reaches out to me, I can learn more about what they need and present myself as the perfect candidate.

Therefore, encouraging that initial contact is essential. And because we all love talking about ourselves and what we do, asking a question to make it personal is a great way to start a conversation.

Although nothing profound, this simple question treats them like a person I am interested in getting to know – rather than just a client I am trying to land. It’s also a question that helps me learn more about their needs and how I might be of assistance. Finally, it encourages a response on their part.

And that’s the most important piece – so I’ll say it again:

Once you get a client to respond to your Upwork cover letter, your odds of winning the project increase exponentially.

3. Explain why you’re interested in this project

Most projects on Upwork come from clients who are passionate about what they do. Whether they’re entrepreneurs or project managers, they have a vested interest in the success of their project.

This means that they are in love with their project. Whether it’s a website idea, a new app concept, or simply a poster to promote their band – the client is excited about this project.

And you should be too.

By sharing with the client why you want to work on their project, you’ll set yourself apart from the plethora of freelancers on Upwork who are simply trying to land their next job.

As with the other elements, keep it short – but a well-worded sentence can make a world of difference.

As you can see from my own blog,, I love writing  and would thoroughly enjoy researching and developing blog posts for your website.

This simple sentence reveals that I am already an expert on this subject and will be just as excited about this venture as the client is.

4. Share examples of similar projects

This is HUGE! Although more and more freelancers on Upwork are showing links to their past work – there are still too many that don’t.

If you have previously published work – share links to it in your job posting. Even if the projects are on your own blog or developed under someone else’s name, it still shows a level of credibility and gives the user a feel for what they can expect from you.

Because Upwork doesn’t allow you to add hyperlinks to your job proposals, you’ll need to add in the entire url. Also, include a space between each url so that it’s easy for the client to copy and paste into their browser if necessary.

5. Vaguely explain your rate

Sometimes I state my rate right upfront, but other times I provide a ballpark figure or don’t share it at all in the cover letter.

Ultimately, when it comes to stating your rate you want to keep two things in mind:

  1. Encourage the client to make contact (remember, I get 50% of contracts once a client interviews me).
  2. Prevent yourself from wasting time with clients looking for cheap work.

From a freelance writer’s prospective, there are ample projects that want a writer willing to develop articles for $10-25 a post. This is far too low for me – and I really don’t want to waste my time interacting with someone not willing to meet my rates.

However, if I state my rate at $0.30/word when someone else offers to do the same project for $0.15/word – they may not make contact with me, allowing me to negotiate a rate and level of quality that meets their needs.

Depending on the client, I will say something like this in the proposal:

I generally charge my B2B clients $0.30/word. However, because I enjoy writing about entrepreneurship and think your project would be a lot of fun, I may be able to reduce my rate slightly.

By stating the higher end for my blogging rates, and then mentioning that “I may be able to reduce my rate slightly”, the client will understand that I don’t write $10 articles, but he will recognize that he may not have to pay $150 for 500 words either.

If we ultimately agree upon $0.20-0.25/word, the client feels like he’s getting a steal. Win-win!

6. Offer something for free

If you’re confident in the service you offer, then offering an initial trial for free can help you make a lot of money.

Particularly when you are new to Upwork, and competing with freelancers with a large portfolio and high reviews, providing a free trail offer is a great way to get started.

If you’re a freelance writer, a 500 word article won’t take you more than 1-2 hours – so offering one for free is certainly worth the potential of ongoing work.

For one-off projects, like web-design, this could be a bit more difficult. But it’s not impossible. Rather than doing the entire site for free, offer to do an analysis of their current website, a review of their top competitors, or a 30 minute mock-up of what their website could look like.


“Try this format the next time you write an Upwork proposal and let me know how it works! Finally, if you have additional suggestions for dominating Upwork, I would love to hear about them in the comments.”

Web developer, Frontend, Backend, DevOps & SEO.
Professional Web Developer, PHP/Laravel, HTML5/CSS3, DevOps, jQuery, Responsive Design, WordPress, SEO.

, ,

Upwork HTML5 Test Answer 2016-2017 Pass Test In TOP-30-20 And 10

HTML5 Upwork Test Answers 2017


1. Which of the following is the correct way to store an object in localStorage?

var obj = { ‘one’: 1, ‘two’: 2, ‘three’: 3 };


• localStorage.setItem(‘obj’, obj);
• localStorage.setItem(‘obj’, JSON.stringify(obj));
• localStorage.setItem(‘testObject’, JSON.parse(testObject));
• localStorage.setItem(obj);

2. How can an HTML5 canvas size be changed so that it fits the entire window?


• #myCanvas {height: 100%; width: 100%;}
• <script type=»text/javascript»> function resize_canvas(){ canvas = document.getElementById(«canvas»); if (canvas.width < window.innerWidth) { canvas.width = window.innerWidth; } if (canvas.height < window.innerHeight) { canvas.height = window.innerHeight; } } </script>
• It depends upon the complexity of the canvas, and the frequency of redraws.
• Calling the JavaScript getWidth() function.

3. What is the difference between Server-Sent Events (SSEs) and WebSockets in HTML5?


• WebSockets can perform bi-directional (client-server and vice versa) data transfers, while SSEs can only push data to the client/browser.
• SSEs can perform bi-directional (client-server and vice versa) data transfers, while WebSockets can only push data to the client/browser.
• WebSockets and SSEs are functionally equivalent.
• None of these.

4. You want to create a link for your website allowing users to email the webmaster. How will you implement this if the webmaster’s email address is


• <a href=»»>webmaster</a>
• <a href=»»>webmaster</a>
• <a http=»»>webmaster</a>
• <mail http=»»>webmaster</mail>

5. Which HTML5 doctype declarations are correct?


• <!doctype html>
• <!DOCTYPE html>

6. The following are valid use cases of client file/directory access in HTML5, except:


• Drag and drop files from the desktop
• Full file system access
• Use of the HTML5 File API
• Use of files as HTML5 input types

7. You are writing the code for an HTML form and you want the browser to retain the form’s input values. That is, if a user submits the form and presses the browser’s back button, the fully populated form is displayed instead of a blank form. Which of the following HTML 5 attributes will you use?


• accept
• autofocus
• formtarget

8. True or false:

JavaScript objects can be stored directly into localStorage.


• True

9. Consider the following JavaScript code:

var c=document.getElementById(«myCanvas»);
var ctx=c.getContext(«2d»);
var img=document.getElementById(«img»);

Which method will correctly draw an image in the x=10, y=10 position?


• ctx.drawImage(img,10,10);
• context.drawImage(img,20,10,10,10);
• context.drawImage(img,10,20,10,10,20,20,10,10);
• All of these

10. What does P2P streaming mean when web applications establish a P2P HTTP connection using HTML?


• It means that streaming of a voice/video frame is direct, without using any server between them.
• It means that streaming of a voice/video frame is first between one peer to the server then the server to another peer.
• Communication does not rely on a shared relay server in the network.

11. How does a button created by the <button> tag differ from the one created by an <input> tag?


• An input tag button can be a reset button too.
• A button tag button can be a reset button too.
• An input tag button can include images as well.
• A button tag can include images as well.

12. Which of the following shows correct use of client-side data validation in HTML5, on username and password fields in particular?


• <input name=»username» required /> <input name=»pass» type=»password» required/>
• <input name=»username» validate=»true»/> <input name=»pass» type=»password» validate=»true»/>
• <input name=»username» validate/> <input name=»pass» type=»password» validate/>
• There is no way to implement client-side validation for the username and password fields in HTML5.

13. When does the ondragleave mouse event get fired in HTML5?


• It gets fired when an element has been dragged to a valid drop target.
• It gets fired when an element leaves a valid drop target.
• It gets fired at the end of a drag operation.
• It gets fired while an element is being dragged.

14. Which of the following code is used to prevent Webkit spin buttons from appearing on web pages?


• input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; }
• input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
• noindex:-o-prefocus, input[type=number] { padding-right: 1.2em; }
• input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; padding-right: 1.2em; }

15. Can we store JavaScript Objects directly into localStorage?


• Yes

16. Which of the following is the correct way to store an object in a localStorage?


• localStorage.setItem(‘testObject’, JSON.stringify(testObject))
• localStorage.setItem(‘testObject’, testObject)
• localStorage.add(‘testObject’, testObject)
• localStorage.addItem(‘testObject’, testObject)

17. What is the internal/wire format of input type=»date» in HTML5?



18. Which is the standard method for clearing a canvas?


• context.clearRect ( x , y , w , h );
• canvas.width = canvas.width;
• context.clear();
• All of these.

19. Which media event will be fired when a media resource element suddenly becomes empty?


• onerror
• onended
• onloadeddata

20. Which following are valid default values for the <input type=»date»> HTML5 element?


• now
• 2013-05-30
• 2013-30-05
• today

21. Which of the following input element variations will show a numeric keypad in mobile browsers?


• <input type=»text» pattern=»[0-9]*» />
• <input type=»number» />
• <input type=»text» keyboard=»numeric» />
• <input type=»text» keyboard=»number11″ />

22. How can audio files be played in HTML5?

var sound = new Audio(«file.wav»);


• sound.begin();
• sound.resume();
• sound.start();

23. Which of the following video file formats are currently supported by the <video> element of HTML5?


• MPEG 4
• Ogg
• 3GPP

24. What is the proper syntax for a line break tag as W3C specs defines?


• <br>
• <br/>
• <br />
• All of these.

25. Which of the following are valid ways to associate custom data with an HTML5 element?


• <tr class=»foo» data-id-type=»4″>
• <tr class=»foo» id-type=»4″>
• <tr class=»foo» data-id_type=»4″>
• All of the above.

26. Which of the following attributes gets hidden when the user clicks on the element that it modifies? (Eg. hint text inside the fields of web forms)


• autocomplete
• autofocus
• formnovalidate

27. Which of the following are true about the ARIA role attribute in HTML5?


• Every HTML element can have an ARIA role attribute specified.
• Every HTML element is required have an ARIA role attribute specified.
• The attribute must have a value that is a set of space-separated tokens representing the various WAI-ARIA roles that the element belongs to.
• There is no ARIA attribute called «role».

28. Once an application is offline, it remains cached until the following happens (select all that apply):


• The application cache is programmatically updated.
• The application cache gets automatically cleared by the browser.
• The manifest file is modified.
• The user clears their browser’s data storage for the site.

29. Which of the following is the correct way to play an audio file in HTML5?


• var snd = new Audio(«file.wav»);;
• <audio controls> <source src=»file.ogg» type=»audio/ogg»> <source src=»file.mp3″ type=»audio/mpeg»> </audio>
• <source src=»file.mp3″ type=»audio/mpeg»>
• All of these.

30. Which of the following are possible ways to make the browser automatically adds new images and discards deleted images with server-side events in HTML5?


• Long Polling Ajax Requests
• Server-sent Events
• JavaScript objects on the client via JSON.parse().

31. Which of the following methods can be used to estimate page load times?


Using _gaq.push([‘_trackPageLoadTime’]) with Google Analytics.
• Using the Navigation Timing JavaScript API.
• Page load times cannot be estimated.
• Using built-in JavaScript methods.

32. Which of the following <section> elements have the correct attribute assignment as per HTML 5.0?


• <section id=»example»>…</section id=»example»>
• <section id=»example»>…</section id=»example2″>
• <section id=»EXAMPLE»>…</section>
• <section id=»Example»>…</section>
• <section id=»example»>…</section>

33. Which of the following are the valid values of the <a> element’s target attribute in HTML5?


• _self
• _top
• _bottom

34. Which of the following statements regarding WebSockets is true?


• It communicates with the server with only the data required by the application.
• It lowers the latency of connections for interactive web applications.
• It scales better and consumes less server resources than HTTP AJAX/long-poll.
All of the above.

35. Assuming that some text needs to be written on an HTML5 canvas, select a replacement for the commented line below:

<canvas id=»e» width=»200″ height=»200″></canvas>
var canvas = document.getElementById(«e»);
//insert code here
context.fillStyle = «blue»;
context.font = «bold 16px Arial»;
context.fillText(«Zibri», 100, 100);


• var context = canvas.getContext();
• var context = canvas.getElementById(«context»);
var context = canvas.getContext(«2d»);
• var context = canvas.getElementById(«2d»);

36. What is the role of the <dfn> element in HTML5?


• It is used to define important text.
• It is used to define computer code text.
• It is used to define sample computer code.
• It is used to define a definition term.

37. Which of the following is a possible way to get fullscreen video played from the browser using HTML5?


• <object> <param name=»allowFullScreen» value=»true» />
• <video allowFullScreen=»true»>
<video height=»100%» width=»100%»>
• None of these.

38. Consider the following items of a <select> list:

<option value=»89″>Item 1</option>
<option value=»90″>Item 2</option>

Which of the following values would be passed on by clicking the submit button on selecting Item 2 from the list?


• 89
• 90
• Item 1
• Item 2

39. Which method of HTMLCanvasElement is used to represent image of Canvas Element?


• saveAsImage()
• saveFile()
• exportImage()

40. Which of the following is not a valid syntax for the <link> element in HTML5?


• <link rel=»icon» href=»abc.jpg» sizes=»16×16″>
• <link rev=»stylesheet» href=»abc.css» type=»text/css» target=»_parent»>
• <link rel=»alternate» type=»application/pdf» hreflang=»fr» href=»manual-fr»>

41. Which of the following will detect when an HTML5 video has finished playing?


var video = document.getElementsByTagName(‘video’)[0]; video.onended = function(e) { }
• var video = document.getElementsByTagName(‘video’)[0]; video.onPlayend = function(e) { }
• var video = document.getElementsByTagName(‘video’)[0]; video.onPlayFinish = function(e) { }
• var video = document.getElementsByTagName(‘video’)[0]; video.onPlayBackended = function(e) { }

42. Which method of the HTMLCanvasElement is used to represent an image of a canvas element?


• toImageURL
• saveAsPNG
• saveAsJPEG

43. Assuming that some text needs to be written on an HTML5 canvas, select a replacement for the commented line below:

<canvas id=»e» width=»200″ height=»200″></canvas>
var canvas = document.getElementById(«e»);
//insert code here
context.fillStyle = «blue»;
context.font = «bold 16px Arial»;
context.fillText(«Zibri», 100, 100);


• var context = canvas.getContext();
• var context = canvas.getElementById(«context»);
• var context = canvas.getContext(«2d»);
• var context = canvas.getElementById(«2d»);

44. Which of the following will restrict an input element to accept only numerical values in a text field?


• <input type=»text» pattern=»[0-9]*» />
• <input type=»number» />
• <input type=»text» pattern=»\d*»/>
• <input type=»text» pattern=»number»/>

45. Which of the following is the correct way to display a PDF file in the browser?


<object type=»application/pdf» data=»filename.pdf» width=»100%» height=»100%»/>
• <object type=»application/pdf» id=»filename.pdf» width=»100%» height=»100%»/>
• <input type=»application/pdf» data=»filename.pdf» width=»100%» height=»100%»/>
• <input type=»application/pdf» src=»filename.pdf» width=»100%» height=»100%»/>

46. Which of the following is the best method to detect HTML5 Canvas support in web browsers?


• isCanvasSupported()
• !!document.createElement(«canvas»)
• !isCanvasSupported()

47. Which media event is triggered when there is an error in fetching media data in HTML5?


• onwaiting
• onsuspend
• oninvalid

48. Which of the following is the correct way to check browser support for WebSocket?


• console.log(WebSocket ? ‘supported’ : ‘not supported’);
console.log(window.WebSocket ? ‘supported’ : ‘not supported’);
• console.log(window[WebSocket] ? ‘supported’ : ‘not supported’);
• console.log(window[‘WebSocket’] ? ‘supported’ : ‘not supported’);

49. Which of the following is not a valid attribute for the <video> element in HTML5?


• controls
• autoplay
• preload

50. Which of the following are sample use cases for HTML5 web workers?


• Polling URLs in background
• Syntax highlighting without blocking code editing capabilities in online IDEs
• Motion tracking input in realtime with a video element
• All of these.

51. Which of the following HTML5 features is capable of taking a screenshot of a web page?


• Server-Sent Events
• Canvas
• Web Workers

52. Which of the following video tag attributes are invalid in HTML5?


• play
• loop
• mute

53. True or False:

HTML5 Canvas can be used to create images.


• True
• False

54. Which of the following statements are correct with regard to the <hr> and <br> elements of HTML5?


• The <hr> element acts in the same way as the tab key and the <br> element acts in the same way as the shift key.
The <hr> element is used to insert the horizontal line within the document and the <br> element is used to insert a single line break.
• The <hr> element is used to put a line across the page and the <br> element acts in the same way as a return/enter key press.

55. The following link is placed on an HTML webpage:

<a href=»» target=»_blank»> MSDN </a>

What can be inferred from it?


• It will open the site in the same window.
It will open the site in a new window.
• It will open the site in a frame below.
• It will not be clickable as it is not formed correctly.

56. What is the limit to the length of HTML attributes?


• 65536
• 64
• There is no limit.
• None of these.

57. Which of the following examples contain invalid implementations of the ampersand character in HTML5?


• foo & bar
• foo &0 bar
• foo &0; bar
• foo&&& bar

58. Which of the following <link> attributes are not supported in HTML5?


• sizes
• rel

59. In HTML5, which of the following is not a valid value for the type attribute when used with the <command> tag shown below?

<command type=»?»>Click Me!</command>


• button
• command
• checkbox
• radio

60. Which event is fired when an element loses its focus in an HTML5 document?


• onfocus
• onload
• onblur
• onselect

61. What is the purpose of the <q> element in HTML5?


• It is used to define the start of a term in a definition list.
• It is used to define attribute values for one or more columns in a table.
• It is used to define the start of a short quotation.
• It is used to define what to show browsers that do not support the ruby element.

62. Which of the following is the best method to store an array in localStorage?


• var localStorage[names]=new Array(); localStorage.names[0]=prompt(«New member name?»);
var names = []; names[0] = prompt(«New member name?»); localStorage[«names»] = JSON.stringify(names); var storedNames = JSON.parse(localStorage[«names»]);
• Storage.prototype.setObj = function(key, obj) { return this.setItem(key, JSON.stringify(obj)) } Storage.prototype.getObj = function(key) { return JSON.parse(this.getItem(key)) }
• localStorage.setItem(‘names_length’, names.length); localStorage.setItem(‘names_0’, names[0]); localStorage.setItem(‘names_1’, names[1]); localStorage.setItem(‘names_’ + n, names[n]);

63. What does the icon attribute of the HTML5 command tag define?

<command icon=»?»>Click Me!</command>


• It is used to define the URL of an image to display as the command.
• It is used to define the name of the radiogroup this command belongs to.
• It is used to define if the command is checked or not.
• It is used to define if the command is available or not.

64. Which of the following methods are valid for navigating to a fragment identifier?

Note: There may be more than one right answer.


• <a name=»foo»>bar</a>;
• <a id=»foo»>bar</a>
• <div id=»foo»>bar</div>
• <div class=»foo»>bar</div>

65. x


• oninput
• oninvalid
• ondrop
• onreset

66. Which of the following are valid HTML5 elements?


• canvas
• summary
• aside
• video

67. Which of the following is an invalid value for the type attribute of a command tag?


• checkbox
• radio
• command
• text

68. Which of the following are true regarding the <keygen> tag in HTML5?


• The <keygen> tag specifies a key-pair generator field used for forms.
• The <keygen> tag generates a public/private key pair and then creates a certificate request. This certificate request will be sent to a Certificate Authority (CA), which then creates a certificate and sends it back to the browser.
• The <keygen> tag generates random passwords when the user requests for a password reset.
• The <keygen> tag is deprecated in HTML5.

69. Which of the following is not an attribute of the <meta> element in HTML5?


• charset
• content
• http-equiv
• scheme

70. Which of the following is a proper syntax for <br> tag as W3C specs for HTML5 defines?


• <br />
• <br/>
• <br>
• <br></br>

71. Can we use SVG tags directly in HTML5 without using any plugin?


• Yes
• No

72. How to assign multiple classes to one element?


• <div class=»one,two,three»></div>
• <div class=»one;two;three»></div>
• <div class=»one two three»></div>
• <div class=»one» class=»two» class=»three»></div>

73. How to make an element draggable in HTML5?


• set the draggable attribute to true as draggable=»true»
• set the movable attribute to true as movable=»true»
• set the dropable attribute to true as dropable =»true»
• You can not make an element draggable in HTML5

74. Which of the following is not a core method of WebSQL Database API?


• openDatabase
• transaction
• executeSql
• connect

75. Which one of the following is not a valid input control in HTML5?


• range
• url
• address
• number

76. Which element defines the title of a work (e.g. a book, a song, a movie, etc.)?


• <details>
• <cite>
• <bdi>
• <title>

77. The HTML5 element used to draw a graphics via scripting?


• mark
• figure
• Canvas
• figcaption

78. Which value of Socket.readyState atribute of WebSocket indicates that the connection is going through the closing handshake?


• 0
• 1
• 2
• 3

79. How to declare HTML5 document type?


• <!DOCTYPE html5>
• <!DOCTYPE html>
• <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 5.00 Transitional//EN» «»>

80. Is WebSQL a part of HTML5 specification?


• Yes
• No

81. Which method is used to execute a query in WebSQL?


• execute
• executeWebSQL
• executeSql
• executeQuery

82. Which of these statements are considered as best practices?


• Place all CSS/JavaScript files within the <head> element
• Place all CSS/JavaScript files at the bottom of <body> element
• Place CSS files within the <head> element
• Place JavaScript files at the bottom of <body> element

83. In HTML5, drag and drop is part of the standard?


• True
• False

84. Which of the following attribute triggers an abort event?


• abort
• offline
• onabort
• onbeforeonload

85. Which is the following represents that the document is using HTML5?


• <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «»>
• <!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN» «»>
• <!DOCTYPE html>

86. Which of the following is used to set the fill color for a drawing on Canvas?


• fillStyle()
• fill()
• color()
• fillColor()

87. How do you specify where the dragged data can be dropped?


• Setting attribute dropable = «true»
• Calling the event.preventDefault() method for the ondragover event.
• Setting attribute draggable = «true»
• Calling the event.preventDefault() method for the ondragstart event.

88. Which of the following video formats is not supported by the video tag?


• MP4
• WebM
• Ogg
• Mov

89. Which tag is used to show subtitles in a video in HTML5?


• track
• source
• video
• audio

90. Which methods are provided by geolocation?


• getCurrentPosition
• watchPosition
• clearWatch
• All of the above

91. Which of the following tag can be used to associate a caption together with some embedded content in HTML5?


• caption
• figure
• nav
• dialog

92. Which attribute specifies that the video will be loaded at page load, and ready to run. Ignored if autoplay is present.


• poster
• loop
• preload
• src

93. Which of the following is a new input type introduced in HTML5?


• text
• password
• email
• radio

94. How do you declare HTML5 document type?


• <!DOCTYPE html5>
• <!DOCTYPE html>
• <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 5.00 Transitional//EN» «»>

95. Which of the following code is valid?


• <div id=»container» class=»home-page» datasize=»960px»></div>
• <div id=»#container» class=».home-page» data-size=»960px»></div>
• <div id=»container» class=»home-page» data-size=»960px»></div>
• All of these codes are valid

96. Which tag in HTML5 can be used to define navigation links?


• navigation
• footer
• nav
• meter

97. Which among the following tags define a caption for a fieldset element?


• legend
• select
• input
• textarea

98. Which of the following attribute triggers event when an element gets user input?


• oninput
• ondata
• onput
• onhaschange

99. Which of the following attributes requires you to have a value in an input control in HTML5?


• autofoucs
• required
• placeholder
• output

100. Which of the following tags used to specify subtitles for <video>?


• <sub>
• <title>
• <subtitle>
• <track>

101. Which tags are most commonly used by search engines?


• Paragraph
• Heading Correct
• Title
• All of above

102. Which of the following is not a valid input type of the form tag?


• email
• checkbox
• hidden
• video

103. What is the correct HTML5 element for playing video files?


• <movie>
• <media>
• <video>
• All of the above

104. Why should you add alternative text to your images?


• In case the user wishes to load a different picture
• So the users can get an idea of what the image is before it loads and it is also helpful in SEO
• So the user can save the image using the text as a name
• Just to keep your document valid

105. The way the browser displays the object can be modified by


• attributes
• parameters
• modifiers
• None of above

106. When using video on a page, if autoplay attribute is set then which of the following attributes is ignored?


• loop
• preload
• controls
• muted

107. What is used to continuously push events from the web server to the client’s browser?


• Server Sent Events
• Web Workers
• Push Notifications

108. Which of the following is correct for embed «flash.swf» into your webpage?


• <flashembed src=»flash.swf» height=»80″ width=»80″ />
• <SWF src=»flash.swf» height=»80″ width=»80″ />
• <embed src=»flash.swf» height=»80″ width=»80″ />
• <insert src=»flash.swf» height=»80″ width=»80″ />

109. Which of the following event occurs when the document comes online?


• onload
• onloadstart
• onmessage
• ononline

110. Which is the recommended standard video format in HTML5?


• Theora video and Vorbis audio, as well as the Ogg container format.
• The HTML5 specification does not specify which video and audio formats browsers should support.
• H.264/MPEG-4 AVC

111. Which method is used to fetch the current geographic location of the user and update it as the user moves?


• getCurrentPosition()
• watchPosition()
• getContinuousPosition()
• watchContinuousPosition()

112. Which of the following input control accepts only numerical value in HTML5?


• range
• number
• time
• week

113. How many h1 elements are recommended on a single page?


• Unlimited.
• One per section (HTML5) or one per document (HTML4).
• Depends on the size of the page.

114. Which of the following input control is provided by HTML5 for input fields that should contain an e-mail address?


• url
• email
• number
• email-address

115. What is the correct HTML for making a checkbox?


• <input type=»checkbox»>
• <check>
• <input type=»check»>
• <checkbox>

116. Which of these elements are deprecated in HTML5?
Note: There may be more than one right answer.


• <center>
• <font>
• <iframe>
• <tfoot>

117. Which of the following is a new input restriction introduced in HTML5?


• disabled
• maxlength
• readonly
• required

118. HTML tags are used to describe document ____?


• Image
• Content
• Definition
• Groups

119. To specify a font for your whole page add which tag?


• < defaultfont >
• < targetfont >
• < basefont >
• < body >

120. The background image will scroll when the user scrolls down the page, unless you add which property to the body tag ?


• bgproperties=»stationary»
• bgproperties=»fixed»
• bgproperties=»holdstill»
• bgproperties=»scroll»

121. Which of the following method is used to import external scripts?


• import
• importScripts
• scriptsImport
• importJS

122. Which of the following creates an email address hyperlink?


• <a href=»»>Email me</a>
• <a href=»»>Email me</a>
• <a href=»»>Email me</a>
• <a href=»»>Email me</a>

123. Which of the following features are supported by HTML5?


• Web Sockets
• Server-Sent Events
• Persistent Local Storage
• All of the above

124. When images are used as links they get a blue border?


• Type
• Never
• Unless border is set to zero
• Always

125. Which attribute specifies that the image is part of a server-side image-map?


• imageMap

126. Please select the correct media attributes of the style element:
Note: There may be more than one right answer.


• all
• printscreen
• not phone and (color)
• speech and (min-device-width: 800px)

127. Which of these statements are true?
Note: There may be more than one right answer.


• A block-level element always starts on a new line and takes up the full width available.
• An inline element does not start on a new line and only takes up as much width as necessary.
• A block-level element always starts on a new line and only takes up as much width as necessary.
• A block-level element can be placed into inline elements.

128. The default character encoding in HTML5 is?


• UTF-16
• UTF-8
• UTF-32
• ISO-8859-1

129. Please select the correct usage of the address element:


• <address>Last Modified: 2016/05/12 21:32:56</address>
• <footer>
Feel free to contact me at
<a href=»»>John Smith</a>.
<p<small>© copyright 2016 Upwork.</small></p>
• <footer>
Feel free to contact me at
<a href=»»>John Smith</a>.
<p><small>© copyright 2016 Upwork.</small></p>

130. Which of these table element does not exists?


• <tfoot>
• <th>
• <col>
• <tcol>

131. How many tags are in a regular element?


• 1
• 2
• 3
• 4

132. What is the right way to pass custom data to an element?


• <div data=»{ ‘key’:’value’ }»></div>
• <div data-key=»value»></div>
• <div data_key=»value»></div>
• <div key=»value»></div>

133. Which of the following is a new form element introduced in HTML5?


• button
• textarea
• datalist
• select

134. Which of the following is/are valid HTML5 attributes?
Note: There may be more than one right answer.


• webgl
• spellcheck
• manualfocus
• contextmenu

135. Which HTML tag is NOT used when formatting text?


• <img>
• <small>
• <p>
• <strong>

136. Which of these values are allowed for attribute “method” for form element?
Note: There may be more than one right answer.


• get
• post
• patch
• delete

137. Which of these elements are block-level?
Note: There may be more than one right answer.


• <h1> … <h6>
• <p>
• <img>
• <span>

138. What is ALT text?


• Text displayed when you hold your mouse over an image
• Text displayed when an image is not found
• Text displayed when a user has images switched off in the browser
• All of the above

139. How do you make the content inside an element editable?


• Setting the attribute contenteditable = «true»
• Setting the attribute editable = «true»
• Setting the attribute content = «editable»
• The content inside all the elements is editable by default in HTML5.

140. Which is the correct HTML element for making a drop-down list?


• <list>
• <input type=»list»>
• <input type=»dropdown»>
• <select>

141. A 6 digit Hex color (#FF9966) defines values of Red, Blue and Green in which order ?



142. Using Hspace will add what to your image?


• Space to the left and right
• Space to the right and left
• Height to all equal
• Space to top and left

143. Which of the following is not a valid attribute for the audio element in HTML5?


• preload
• loop
• stopped
• muted

144. The element to specify a list of predefined options for input control is


• <source>
• <datalist>
• <tracklist>
• <optionlist>

145. Which of the following is not valid about MediaRecorder API ?


• MediaRecorder.start() method is called to start the recording.
• MediaRecorder.process() method is called to start the recording.
• MediaRecorder API works alongside Navigator.getUserMedia() to capture media data.
• The contents of the recording will be made available in the platform’s default encoding via the dataavailable event

146. Which of the following method is used to check if the browser can play the specified audio/video type?


• checkType
• canPlayType
• typeSupport
• mediaPlayType

147. Which of the following attributes can be specified on any HTML element?
Note: There may be more than one right answer.


• contenteditable
• height
• id
• name
• spellcheck
• translate
• value

148. Which of the following tag is used for a multi line text input control?


• textarea
• textml
• text
• None of the above

149. Which of the following attribute specifies whether or not a user is allowed to drag an element?


• draggable
• context
• content
• drag

, , , ,

How Is the iPhone 7 Different From the iPhone 6S?

Every iPhone model with a full-number name—the iPhone 5, 6, or 7, for instance—introduces major changes over the previous “S” model. That’s true when it comes to the iPhone 7.

In many instances, those changes include a brand new shape and look. That’s not the case with the iPhone 7, which uses the same physical design as the iPhone 6S. But that same design hides profound changes to the internals of the iPhone 7. Here are the top 9 ways that the iPhone 7 is different from the iPhone 6S.

1. iPhone 7 Has No Headphone Jack

This is the probably the thing most people think of as the biggest change between the two models (I’m not sure it actually matters that much, though). The iPhone 7 doesn’t have a traditional headphone jack. Instead, headphones attach to it via the Lightning port (or wirelessly if you buy the US$159AirPods). Apple reportedly did this to make more room inside the iPhone for a better 3D Touch sensor. Whatever the reason, this makes the iPhone 6S and the iPhone SE that last models to sport standard headphone jacks. Whether this turns out to be a trend-setting change will take years to play out, but for the near term, expect to buy a few of the $9 replacement adapters to connect your existing headphones to the Lightning port (one comes free with the phone).

2. iPhone 7 Plus’ Dual Camera System

This difference is only present on the iPhone 7 Plus, but for mobile photographers, it’s a huge deal. The back camera on the 7 Plus actually has two 12-megapixel cameras, not one. The second lens provides telephoto features, supports up to 10x zoom, and allows for sophisticated depth-of-field effects that had not been previously possible on the iPhone. Combine these features with the four flashes included on both the 7 and 7 Plus and the camera system on the iPhone is truly impressive. For most users, it will be best camera they’ve ever owned and a huge step up from the already-very-good camera on the 6S. For some users, it may even rival the quality of high-end DSLR cameras.

3. Redesigned Home Button

The 6S introduced the 3D Touch, which allows the iPhone’s screen to recognize how hard you’re pressing it and respond in different ways. The 7 has the same screen, but adds 3D Touch functionality to another location—it’s in the iPhone 7’s Home button, too. Now, the Home button responds to the strength of your touch. Actually, the new Home button isn’t a button at all—it’s just a flat panel with 3D Touch features. This makes the button less likely to break, aids in dust- and waterproofing (more on that in a minute), and offers potential new functionality for the button.

4. Increased Storage Capacity: Now Up to 256 GB

This change will be a godsend for people with huge music or movie libraries or who take tons of photos and videos. The iPhone 6S stretched the maximum storage capacity for the iPhone line to 128 GB. That doubled the iPhone 6’s 64 GB. The iPhone 7 follows the trend of doubling storage, with 256 GB now being the highest capacity iPhone available. There are improvements to the smaller capacities, too. The introductory storage capacity is also doubled from 16 GB to 32 GB. Running out of storage used to be a concern for people with 16 GB models. That’s not likely to be true for as many people in the future.

5. 40% Faster Processor

Virtually every iPhone is built around a new, faster processor that serves as the brain of the phone. That’s true of the iPhone 7, too. It runs Apple’s new A10 Fusion processor, which is a quad-core, 64-bit chip. Apple says it’s 40% faster than the A9 used in the 6S series and twice as fast as the A8 used in the 6 series. Combining its extra horsepower with new features built into the chip designed to conserve power means you’ll not only have a faster phone, but also better battery life (about 2 hours more life than the 6S, on average, according to Apple).

6. Second Speaker Means Stereo Sound

The iPhone 7 is the first iPhone model to sport a dual-speaker system. All previous iPhone models had a single speaker at the bottom of the phone. The 7 has that same speaker at the bottom, but it also uses the speaker that you normally use to listen to phone calls as a second audio output. This should make listening to music and movies, and playing games, more immersive and exciting. It’s the perfect addition to a device that is so closely tied to multimedia.

7. Improved Screens Mean Better-Looking Images

The screens used on the iPhone 7 series look great thanks to Retina Display technology. But many iPhones have that. These are even better because they can display an increased color range. Increased color range allows the iPhone to display more colors and to have them look more natural. Even better, the screen is also 25% brighter, which provides an additional image-quality boost.

A similar technology was introduced with the iPad Pro. The iPad’s screen technology relies on a series of sensors to check ambient light levels and adjust the color performance of the screen dynamically. The changes with the new iPhone don’t go quite that far—probably because it would have been hard to fit the extra sensors in the case—but the color range change alone is significant.

8. A Safer iPhone Thanks to Dust- and Waterproofing

The first-generation Apple Watch was the first Apple product that featured waterproofing to protect it against an unexpected bath. It complied with the IPX7 standard, which means that the Watch can sustain submersion in up to 1 meter (a little over 3 feet) of water for up to 30 minutes. The iPhone 7 series has both waterproofing and also dustproofing to keep two environmental menaces away. It meets the IP67 standard for dust- and water-proofing. While not the first smartphones to offer this feature, the 7 is the first iPhone model to have this level of protection.

9. New Color Options

The iPhone 6S introduced a new color to the iPhone line up: rose gold. This was in addition to the traditional gold, space gray, and silver. Those options change with the iPhone 7.

Space gray is gone, replaced by black and jet black. Black is a fairly traditional version of black. Jet black is a high-gloss, shiny finish, which is only available on the 128 GB and 256 GB models. Apple has cautioned, though, that jet black is prone to”micro-abrasions,” a fancy way of saying you should expect it to scuff. That’s the downside of a highly polished back, but reports say it looks and feels so great that it’s worth it.

Both models still come in silver, gold, and rose gold, too.

Web developer, Frontend, Backend, DevOps & SEO.
Professional Web Developer, PHP/Laravel, HTML5/CSS3, DevOps, jQuery, Responsive Design, WordPress, SEO.