Comments (14)
Good point. Each way of determining connectedness has its pluses and minuses, no one way is perfect. Offline ships with two methods. One makes a request for a tiny image hosted on my cloudfront account for the benevolence of all, the other makes an XHR request against the current domain, hoping to get back any sort of response (even a 404).
You can change the url of the image to be one you control, if you like:
Offline.options = {checks: {image: {url: 'my-image.gif'}}};
Loading an image was chosen (rather than a script file), because it limits the potential damage if a hostile party were to be in control of it.
You can also switch to the XHR method:
Offline.options = {checks: {active: 'xhr'}}
The XHR method is not enabled by default because of a concern that some sites do a significant amount of processing to build their 404 page, so it's not something we want to send unnecessarily. It's also possible that the page would respond with a redirect to a different domain, creating a CORS problem. If you have control of the domain and can create an endpoint which just responds with a quick 204, that's the perfect solution. You can set the endpoint in settings as well:
Offline.options = {checks: {xhr: {url: '/health-check'}}};
Tomorrow I'll move most of this over to the README proper.
from offline.
Hello and thanks for your nice offline plugin. I'm trying to use the xhr "health check" method but it seems that the plugin is still loading the cloudfround image, rather than the configured url.
Here's the console.log on chrome
Thanks for your help
from offline.
You'll also need to tell it to use the xhr check:
Offline.options = {
checks: {
xhr: {
url: '/health-check'
},
active: 'xhr'
}
};
from offline.
thanks! :-)
from offline.
I just tried and it seems that as soon as you are offline it stucks into a recursive loop, calling the xhr url thousands of times.
from offline.
Just wanted to confirm is below correct
<script type="text/javascript">
Offline.options = {
checks: {
image: {url: '../img/test.gif'}
},
requests: false
}
</script>
from offline.
@squallstar Thanks for letting me know, fixed in v0.4.3.
from offline.
<script type="text/javascript">
Offline.options = {
checks: {
image: {url: '../img/test.gif'},
active: 'image'
},
requests: false
}
</script>
from offline.
that's strange. does not work. the offline message won't go away even after the connection is established.
from offline.
Just out of curiosity, does it work when requests
is not disabled?
from offline.
the bug was ',' after the image: {url: '../img/test.gif'},
. removing it fixes the issue :)
from offline.
Ah, great!
from offline.
But now requests (false) not working. after I removed above comma
from offline.
I have just replaced cloundfront file with my own in min.js for time being.
from offline.
Related Issues (20)
- Offline.js not working with async HOT 4
- document.body is null
- Shows offline pop-up frequently due to request timeout
- Offline.options HOT 3
- [B] Countdown doesnt make sense, as soon as there is connection it connects HOT 1
- Does multiple ajax catch/send work or no? HOT 1
- Offline.js is not triggering the ajax on success functions after reconnecting HOT 2
- It is not working in firefox browser
- persian
- Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0_offline_js__.on is not a function
- i added game: true, included snake.js but doesnt work - any ideas?
- Offline.js not working on safari HOT 1
- Offline not showing any popup if I disable WIFI, but it is working if I manually choose offline in chrome. HOT 10
- Offline.js Intercept WebSocket Requests HOT 1
- For those still wanting to use this HOT 4
- Is there a way I can use this repo in React app ? HOT 1
- My internet is offline chrome shows it proper, but offline.js not fires.
- Dissable console logging for requests
- Spanish translation
- [REQUEST] Indonesian translation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from offline.