Bhaskar B
Bhaskar B

Reputation: 11

Dojo RequireJS 404 error handling from thirdparty URL

I have a dojo require as

window.config= {
  async: false,
  paths: {
    'thirdParty' : 'https://s3.amazonaws.com/thirdPartyJSSrc'
  }
};

In Page Javascript I am using thirdParty as

require([
'thirdParty'
], function(){ });

Now if my thirdPartyJSSrc returns 404 the other buttons handlers from JS is not working..It is showing the following error

Failed to load resource: the server responded with a status of 404 (Not Found) 
Error {src: "dojoLoader", info: Array[2], stack: (...), message: "scriptError"}

Because of this error no JS is working on other elements of page..

I don't want to include the JS if particular JS returns 404 on the page..Anyway to do this?

Upvotes: 1

Views: 746

Answers (1)

ronielhcuervo
ronielhcuervo

Reputation: 715

I suggest config your dojo with dojoConfig, see documentation here.

e.g

dojoConfig = {
            baseUrl: "js/",
            packages:[
                { name:"dojo",location:"//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/"},
                { name:"dijit", location:"//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/"},
                { name:"dojox", location:"//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojox/"},
                { name:"thirdParty",location:"https://s3.amazonaws.com/thirdPartyJSSrc"}],
            parseOnLoad : true,
            async : false,
            isDebug: true,
            locale: 'en'
}; 

I should you to use "dojo/has" for test if exist your "thirdParty" JS. The dojo/has module is Dojo’s feature-detection API. It provides a simple, consistent, and easily extensible approach for evaluating existing feature tests, and for creating your own custom feature tests. dojo/has also implements the AMD loader plugin API, which allows you to use it to conditionally load modules. See "Dojo FAQ: How can I conditionally load AMD modules?" for more detail.

Upvotes: 1

Related Questions