Is it justifiable to stop providing support for javascript-disabled or non-ajax browsers in secure applications?

I'm intrigued by the current trend in ajax applications. Is it acceptable to focus on building the best ajax application possible and disregard browsers that don't support ajax (especially if it's a secured part of the site and not public)?

I'm not referring to corporate intranets where browser usage can be controlled, but rather sites that users pay a monthly fee to access. It's not entirely public, but it's not controlled either.

It seems that the more advanced and impressive you make your ajax application, the more challenging it becomes to support the traditional model. The two approaches diverge so much that you end up essentially developing two separate UIs/controllers for everything in the system. Sometimes, you might even need to create two different views.

I'm the sole developer on this project. Having to double my efforts feels like a waste of time. I believe it's more practical to first build the product I envision, and then possibly add the non-ajax features later on, if necessary.

The unique selling point of the project revolves around the way ajax is incorporated. Personally, supporting the non-ajax features is not a priority for me. Software that doesn't support ajax would just be a duplicate of what's already available. Users would be drawn to this software because it's more user-friendly and enjoyable to use.

If users prefer the non-ajax version, there are plenty of existing products that cater to that. I'm considering the strategic decision to disregard that market and focus on the potential for my product to surpass them in the future.

In this scenario, would it be reasonable to not support browsers with disabled javascript? If I opt for this approach, what considerations should I keep in mind beyond potential issues with older browser compatibility?

Answer №1

Assuming all your visitors have JavaScript capabilities or are willing to enable it, it is safe to require JavaScript on your site.

Nevertheless, it is crucial to also offer an attractive error page for those without JavaScript functionality. You can even include instructions on how to enable (or allow - for example, through NoScript) JavaScript for the website.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Prevent Xdebug from processing multiple requests

One recurring issue I encounter in my app is calling an API endpoint every 60 seconds. However, when I attempt to debug using Xdebug, stepping through the controller associated with that endpoint often takes longer than a minute. This results in another re ...

Is it possible to have users edit comments within a Django Blog by combining DetailView and UpdateView on a single page?

I have spent a few days working on this and have followed multiple tutorials to achieve my goal. I am very close to getting it right....I just can't seem to figure out how to allow users to edit their comments. I have tried various approaches...This i ...

Connecting a href link to a TAB

Check out this useful CODE example I am using. I have a webpage with links that have href attributes. Now, I want to link these pages to another page and have them automatically open a specific tab when clicked. Is this possible? Here are the links on th ...

Encountering a Type Error with Webpack4 when running npm start

When I run `npm start` on my Vue project, everything seems okay, but when I open the browser page, it shows up blank and gives me an Uncaught error: TypeError: Cannot read property 'call' of undefined The console view displays the following e ...

A guide on invoking a servlet using a jQuery $.ajax() call

I am having trouble calling a servlet using jQuery's .ajax() function. It seems like the servlet is not being called or parameters are not being passed to it. Despite searching extensively online, I have not been able to find a solution. Any suggesti ...

Manipulating JSON objects within a map using jQuery and Gson

I am working with a Java object that contains several nested object fields with basic fields in them. Here is an example: Template { String name; EmailMessage defaultEmailMessage; } EmailMessage { String emailSubject; String emailBody; } ...

You are unable to select the element in IE if there is an image in the background

Apologies for coming back with the same question, as I realize now that I was not clear in my explanation yesterday. You can find the codepen here (please note that it may not open in IE8). My issue is with dragging the 'move-obj' element in IE b ...

What causes webpack to require 4 seconds for compiling a barebones react / redux project?

I am troubled by the fact that it is still compiling my node_modules even though I have specifically excluded it. How can I investigate and understand what exactly is happening? The output in the console seems like random characters. Is there a way to conf ...

A ServiceWorker used a promise in FetchEvent.respondWith() that resulted in a non-Response value of 'undefined'. This caused an issue in browser-sync

There are times when my server encounters an error in the console: Failed to load ‘http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=Lm2wn4p’. A ServiceWorker passed a promise to FetchEvent.respondWith() that reso ...

AngularJS deferred rendering (not deferred loading views)

Imagine having over 3000 items to display within a fixed-height div using an ng-repeat and setting overflow: auto. This would result in only a portion of the items being visible with the rest accessible via scrollbar. It's anticipated that simply run ...

Struggling with implementing a login authentication system with AJAX technology

I've been struggling to develop an AJAX script that communicates with a PHP script to verify the username and password entered. The PHP script returns "true" if the details are correct and "false" otherwise. In my AJAX script, I have implemented an i ...

What is the best way to manage an ajax request response within the Flux Architecture?

After reviewing the Flux Documentation, I'm struggling to understand how to incorporate code for an AJAX update and fetch within the dispatcher, store, component architecture. Does anyone have a straightforward example of fetching data from the serve ...

How can the vertical scroll bar position be reset in Material-Table when pagination is activated?

Whenever I scroll up or down in my Material-Table, and then switch pages, the vertical scroll bar doesn't reset to the top of the table. Instead, it stays where it was before changing the page, causing confusion for users. The only mention of scroll ...

retrieve a reply from a PHP script and incorporate it into JavaScript following an AJAX request

I've been working with an ajax call and everything seems to be running smoothly thanks to this script: $(document).ready(function() { $('.sortable').sortable({ stop: function(event, ui) { $(ui.item).effect("highlight"); ...

Remove any objects from the array that have empty values when filtered

I am facing a challenge with filtering objects in an array. Each object contains a title and rows, where the rows also have a risk value (like P1, P2, P3, etc.). My goal is to extract only the rows that have a risk equal to P1 while skipping any objects th ...

Failure to showcase AJAX JSON data on DataTable

Issue with DataTable and AJAX JSON Data I have been encountering an issue while working on a project that involves using DataTable to display POST data via AJAX. The problem I am facing is that all the records are being displayed without pagination, even ...

How can I turn off shadows for every component?

Is it feasible to deactivate shadows and elevation on all components using a configuration setting? ...

Can a key event be activated on the DOM Window using Javascript or JQuery?

Can a key event be triggered on the DOMWindow or DOMDocument using JavaScript? I am developing a browser extension to interact with a website that has shortcut key events, similar to those in GMail. While I have come across other methods for triggering key ...

Error: The term "Worker" is undefined in a new Nextjs project

I'm currently looking into an issue where I am attempting to import a webpacked javascript file into a NextJS project that utilizes Worker, but I keep encountering the error message ReferenceError: Worker is not defined. I've simplified it down t ...

Tips for effectively utilizing foreach loops in JQuery

I've encountered an issue while displaying a list of data in a table using Smarty templates and foreach loops. I'm trying to make each line clickable to show new data below it, but currently, this functionality only works for the first line. Is t ...