@markdark wrote:
I am trying to add Atatus to my Ionic project. I followed the documentation to include the scripts.
So my
index.htmlincludes the scripts like this:<script src="https://dmc1acwvwny3.cloudfront.net/atatus.js" crossorigin="anonymous" type="application/javascript" /> <script type="text/javascript"> atatus.config('MY_API_KEY').install(); </script>In the documentation they mention CORS issues and how to solve them. The header is something I can't set if I am correct, this header should be set on the cloudfront server. So I have added the
crossoriginattribute in the script tag, but still I receive the CORS error when running the project locally withionic serve:Script from origin 'https://dmc1acwvwny3.cloudfront.net' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.178.59:8100' is therefore not allowed access.Then I tried to solve the CORS issues with adding proxies in the
ionic.projectfile according to this blog post from Ionic. So myionic.projectfile contains:{ "name": "my-amazing-app", "app_id": "345gfsd3trf", "gulpStartupTasks": [ "build:env", "build:index", "build:sass", "build:template", "build:js", "concat:index", "watch" ], "proxies": [ { "path": "/atatus.js", "proxyUrl": "https://dmc1acwvwny3.cloudfront.net/atatus.js" } ] }So I changed the
index.htmlto use this proxy:<script src="http://localhost:8100/atatus.js" crossorigin="anonymous" type="application/javascript" /> <script type="text/javascript"> atatus.config('MY_API_KEY').install(); </script>When I start serving with
ionic servethe output looks promising:me@my-laptop:~/Documents/Projects/my-amazing-app$ ionic serve Gulp startup tasks: [ 'build:env', 'build:index', 'build:sass', 'build:template', 'build:js', 'concat:index', 'watch' ] Running live reload server: http://192.168.178.59:35729 Watching : [ 'www/**/*', '!www/lib/**/*' ] Proxy added: /atatus.js => https://dmc1acwvwny3.cloudfront.net/atatus.js Running dev server: http://192.168.178.59:8100 Ionic server commands, enter: restart or r to restart the client app from the root goto or g and a url to have the app navigate to the given url consolelogs or c to enable/disable console log output serverlogs or s to enable/disable server log output quit or q to shutdown the server and exitBut unfortunally I receive a connection refused in the console:
GET http://localhost:8100/atatus.js net::ERR_CONNECTION_REFUSED.I thought maybe this is because of the use of
localhostinstead of my internal IP192.168.178.59. So I changed all use oflocalhostto192.168.178.59, but then I get a403 Forbidden.The last test I did was adding
atatuslibrary locally through bower:bower install atatus-jsAlso changed the
index.htmlaccordingly:<script src="lib/atatus-js/atatus.min.js" crossorigin="anonymous" type="application/javascript" /> <script type="text/javascript"> atatus.config('MY_API_KEY').install(); </script>Now I receive no errors when loading the library, but when I trough an notify to atatus manually through the console:
atatus.notify(new Error('Test Atatus Setup'));I receive the following errors fromatatus.min.js:Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. XMLHttpRequest cannot load http://192.168.178.59:3001/socket.io/socket.io.js. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.178.59:8100' is therefore not allowed access. Uncaught TypeError: Cannot read property 'test' of undefined(…)Which I don't understand. Why is it complaining about
http://192.168.178.59:3001/socket.io/socket.io.js. This is my local runningsocket.ioserver, which runs correctly and has CORS configured. Withoutatatusadded the whole project runs perfectly with these sockets.
Posts: 1
Participants: 1