postmessage.js 974 B

12345678910111213141516171819202122232425262728
  1. /*!
  2. {
  3. "name": "postMessage",
  4. "property": "postmessage",
  5. "caniuse": "x-doc-messaging",
  6. "notes": [{
  7. "name": "W3C Spec",
  8. "href": "https://www.w3.org/TR/webmessaging/#crossDocumentMessages"
  9. }],
  10. "polyfills": ["easyxdm", "postmessage-jquery"],
  11. "knownBugs": ["structuredclones - Android 2&3 can not send a structured clone of dates, filelists or regexps"],
  12. "warnings": ["Some old WebKit versions have bugs. Stick with object, array, number and pixeldata to be safe."]
  13. }
  14. !*/
  15. /* DOC
  16. Detects support for the `window.postMessage` protocol for cross-document messaging.
  17. `Modernizr.postmessage.structuredclones` reports if `postMessage` can send objects.
  18. */
  19. define(['Modernizr'], function( Modernizr ) {
  20. var support = new Boolean('postMessage' in window);
  21. support.structuredclones = true;
  22. try {
  23. window.postMessage({ toString: function () { support.structuredclones = false; } }, '*');
  24. } catch (e) {}
  25. Modernizr.addTest('postmessage', support);
  26. });