Ok I gave in and looked into using Browserify. Turns out I can get what I want with just this
var React = require('react');
var ReactDOM = require('react-dom');
var ons = require('onsenui');
var Ons = require('react-onsenui');
window.React = React;
window.ReactDOM = ReactDOM;
window.ons = ons;
window.Ons = Ons;
Thanks for the reply. Yeah the HTTP server I was using (mongoose) did not set a cache control header. So chrome decided that it could cache the requests…
Switching to nginx with the “expires -1;” setting has fixed this.
I tested with document.querySelector('ons-fab').disabled = true and it seems to be working.
If you are setting the HTML disabled attribute (which is different from the disabled property but achieves the same effect), you can remove it using the removeAttribute method.
document.querySelector(‘ons-fab’).setAttribute(‘disabled’, ‘false’) does not work because HTML attributes are set as long as they have any value, including the string 'false'.
If you have a look at the Vue project that this screenshot is from, you can see the Vue source code. You should be able to copy it to React with some small syntax changes but basically similar code.