JsonpMainTemplate.runtime.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. /*globals hotAddUpdateChunk parentHotUpdateCallback document XMLHttpRequest $require$ $hotChunkFilename$ $hotMainFilename$ $crossOriginLoading$ */
  6. module.exports = function() {
  7. // eslint-disable-next-line no-unused-vars
  8. function webpackHotUpdateCallback(chunkId, moreModules) {
  9. hotAddUpdateChunk(chunkId, moreModules);
  10. if (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
  11. } //$semicolon
  12. // eslint-disable-next-line no-unused-vars
  13. function hotDownloadUpdateChunk(chunkId) {
  14. var head = document.getElementsByTagName("head")[0];
  15. var script = document.createElement("script");
  16. script.charset = "utf-8";
  17. script.src = $require$.p + $hotChunkFilename$;
  18. $crossOriginLoading$;
  19. head.appendChild(script);
  20. }
  21. // eslint-disable-next-line no-unused-vars
  22. function hotDownloadManifest(requestTimeout) {
  23. requestTimeout = requestTimeout || 10000;
  24. return new Promise(function(resolve, reject) {
  25. if (typeof XMLHttpRequest === "undefined") {
  26. return reject(new Error("No browser support"));
  27. }
  28. try {
  29. var request = new XMLHttpRequest();
  30. var requestPath = $require$.p + $hotMainFilename$;
  31. request.open("GET", requestPath, true);
  32. request.timeout = requestTimeout;
  33. request.send(null);
  34. } catch (err) {
  35. return reject(err);
  36. }
  37. request.onreadystatechange = function() {
  38. if (request.readyState !== 4) return;
  39. if (request.status === 0) {
  40. // timeout
  41. reject(
  42. new Error("Manifest request to " + requestPath + " timed out.")
  43. );
  44. } else if (request.status === 404) {
  45. // no update available
  46. resolve();
  47. } else if (request.status !== 200 && request.status !== 304) {
  48. // other failure
  49. reject(new Error("Manifest request to " + requestPath + " failed."));
  50. } else {
  51. // success
  52. try {
  53. var update = JSON.parse(request.responseText);
  54. } catch (e) {
  55. reject(e);
  56. return;
  57. }
  58. resolve(update);
  59. }
  60. };
  61. });
  62. }
  63. };