This makes it work, the last parameter being littleEndian
dataView.setFloat32(8, 7, true);
This might be better, although I can't say for sure. Presumably Float32Array always uses the system's littleEndian, while DataView can use either.
var littleEndian = (function() {
var buffer = new ArrayBuffer(2);
new DataView(buffer).setInt16(0, 256, true);
return new Int16Array(buffer)[0] === 256;
})();
dataView.setFloat32(8, 7, littleEndian);