diff --git a/README.md b/README.md index 1e96f2d..e7c9e8d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ if (ReactSWF.isFPVersionSupported('10.0')) { ## Installation -#### Universal script [(minified)](//raw.githubusercontent.com/syranide/react-swf/v0.9.0/react-swf.min.js) [(source)](//raw.githubusercontent.com/syranide/react-swf/v0.9.0/react-swf.js) +#### Universal script [(minified)](//raw.githubusercontent.com/syranide/react-swf/v0.9.1/react-swf.min.js) [(source)](//raw.githubusercontent.com/syranide/react-swf/v0.9.1/react-swf.js) ``` diff --git a/bower.json b/bower.json index 31b3ce4..9644e64 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "react-swf", - "version": "0.9.0", + "version": "0.9.1", "license": "MIT", "description": "Shockwave Flash Player component for React", "authors": ["Andreas Svensson "], diff --git a/npm-react-swf/package.json b/npm-react-swf/package.json index 3c16d68..1393122 100644 --- a/npm-react-swf/package.json +++ b/npm-react-swf/package.json @@ -1,11 +1,12 @@ { "name": "react-swf", - "version": "0.9.0", - "author": "Andreas Svensson ", + "version": "0.9.1", + "license": "MIT", "description": "Shockwave Flash Player component for React", + "author": "Andreas Svensson ", "homepage": "https://github.com/syranide/react-swf", "bugs": "https://github.com/syranide/react-swf/issues", - "license": "MIT", + "main": "npm-react-swf/react-swf.js", "repository": { "type": "git", "url": "https://github.com/syranide/react-swf" @@ -20,9 +21,5 @@ "player", "object", "embed" - ], - "engines": { - "node": ">=0.10.0" - }, - "main": "react-swf.js" + ] } diff --git a/npm-react-swf/react-swf.js b/npm-react-swf/react-swf.js index e39d664..c670ec2 100644 --- a/npm-react-swf/react-swf.js +++ b/npm-react-swf/react-swf.js @@ -1,4 +1,4 @@ -/*! react-swf v0.9.0 | @syranide | MIT license */ +/*! react-swf v0.9.1 | @syranide | MIT license */ 'use strict'; @@ -12,7 +12,7 @@ var paramsSupportedByFP = { 'allowScriptAccess': 0, // always, sameDomain, never 'align': 0, // l, t, r - 'base': 0, // "[url]" + 'base': 0, // url 'bgcolor': 0, // #RRGGBB 'fullScreenAspectRatio': 0, // portrait, landscape 'loop': 1, // true*, false @@ -213,7 +213,7 @@ var ReactSWF = React.createClass({ componentWillUnmount: function() { // IE8 leaks nodes if AS3 ExternalInterface.addCallback-functions remain. - if (document.documentMode <= 8) { + if (document.documentMode < 9) { var node = this.getDOMNode(); // Node-methods are not enumerable in IE8, but properties are. @@ -235,13 +235,7 @@ var ReactSWF = React.createClass({ var objectProps = { type: mimeTypeForFP, - // Not supported until next React release. - classID: 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', - data: state.src, - - // Temporary until React 0.12 release. - ref: null, - key: null + data: state.src }; for (var key in props) { diff --git a/package.json b/package.json index ffd76ec..1393122 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-swf", - "version": "0.9.0", + "version": "0.9.1", "license": "MIT", "description": "Shockwave Flash Player component for React", "author": "Andreas Svensson ", diff --git a/react-swf.js b/react-swf.js index d55cd21..6f529b5 100644 --- a/react-swf.js +++ b/react-swf.js @@ -1,4 +1,4 @@ -/*! react-swf v0.9.0 | @syranide | MIT license */ +/*! react-swf v0.9.1 | @syranide | MIT license */ (function(root, factory) { if (typeof define === 'function' && define.amd) { @@ -21,7 +21,7 @@ 'allowScriptAccess': 0, // always, sameDomain, never 'align': 0, // l, t, r - 'base': 0, // "[url]" + 'base': 0, // url 'bgcolor': 0, // #RRGGBB 'fullScreenAspectRatio': 0, // portrait, landscape 'loop': 1, // true*, false @@ -222,7 +222,7 @@ componentWillUnmount: function() { // IE8 leaks nodes if AS3 ExternalInterface.addCallback-functions remain. - if (document.documentMode <= 8) { + if (document.documentMode < 9) { var node = this.getDOMNode(); // Node-methods are not enumerable in IE8, but properties are. @@ -244,13 +244,7 @@ var objectProps = { type: mimeTypeForFP, - // Not supported until next React release. - classID: 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', - data: state.src, - - // Temporary until React 0.12 release. - ref: null, - key: null + data: state.src }; for (var key in props) { diff --git a/react-swf.min.js b/react-swf.min.js index 1671eb2..015400f 100644 --- a/react-swf.min.js +++ b/react-swf.min.js @@ -1,2 +1,2 @@ -/*! react-swf v0.9.0 | @syranide | MIT license */ -!function(r,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():r.ReactSWF=e()}(this,function(){"use strict";function r(r){return c[r]}function e(e){return(""+e).replace(l,r)}function n(r){var n=[],t=0;for(var a in r)null!=r[a]&&r.hasOwnProperty(a)&&(n[t++]=e(a)+"="+e(r[a]));return n.join("&")}function t(){if(void 0===i){i=null;var r=navigator,e=r.plugins["Shockwave Flash"],n=r.mimeTypes[o];if(e&&n&&n.enabledPlugin)try{return i=e.description.match(/(\d+)\.(\d+) r(\d+)/).slice(1).join(".")}catch(t){}var a=window.ActiveXObject;if(a)try{return i=new a("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").match(/(\d+),(\d+),(\d+)/).slice(1).join(".")}catch(t){}}return i}function a(r){var e=t();if(null==e)return!1;for(var n=e.split("."),a=r.split("."),i=0;3>i;i++){var o=+n[i],s=+(a[i]||0);if(o!==s)return o>s}return!0}var i,o="application/x-shockwave-flash",s={flashVars:0,allowFullScreen:1,allowNetworking:0,allowScriptAccess:0,align:0,base:0,bgcolor:0,fullScreenAspectRatio:0,loop:1,menu:1,play:1,quality:0,salign:0,scale:0,seamlessTabbing:1,wmode:0},l=/[\r%&+=]/g,c={"\r":"%0D","%":"%25","&":"%26","+":"%2B","=":"%3D"},u=React.createClass({statics:{getFPVersion:t,isFPVersionSupported:a},getInitialState:function(){return{src:this.props.src,params:null}},shouldComponentUpdate:function(r){var e=this.props;for(var n in e)if(!(!e.hasOwnProperty(n)||r.hasOwnProperty(n)&&e[n]===r[n]||n in s))return!0;for(var n in r)if(r.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&!(n in s))return!0;return!1},componentWillMount:function(){var r=this.props,e={movie:this.state.src};for(var t in s){var a=r[t];null!=a&&r.hasOwnProperty(t)&&"flashVars"!==t&&(e[t.toLowerCase()]=s[t]?a?"true":"false":""+a)}var i=r.flashVars;null!=i&&(e.flashvars="object"==typeof i?n(i):i),this.setState({params:e})},componentWillUnmount:function(){if(document.documentMode<=8){var r=this.getDOMNode();for(var e in r)"function"==typeof r[e]&&(r[e]=null)}},render:function(){var r=this.props,e=this.state,n={type:o,classID:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",data:e.src,ref:null,key:null};for(var t in r)t in s||t in n||(n[t]=r[t]);var a=[n];for(var t in e.params)a.push(React.DOM.param({key:t,name:t,value:e.params[t]}));return r.children&&a.push(r.children),React.DOM.object.apply(null,a)}});return u}); +/*! react-swf v0.9.1 | @syranide | MIT license */ +!function(r,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():r.ReactSWF=e()}(this,function(){"use strict";function r(r){return c[r]}function e(e){return(""+e).replace(l,r)}function n(r){var n=[],t=0;for(var a in r)null!=r[a]&&r.hasOwnProperty(a)&&(n[t++]=e(a)+"="+e(r[a]));return n.join("&")}function t(){if(void 0===i){i=null;var r=navigator,e=r.plugins["Shockwave Flash"],n=r.mimeTypes[o];if(e&&n&&n.enabledPlugin)try{return i=e.description.match(/(\d+)\.(\d+) r(\d+)/).slice(1).join(".")}catch(t){}var a=window.ActiveXObject;if(a)try{return i=new a("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").match(/(\d+),(\d+),(\d+)/).slice(1).join(".")}catch(t){}}return i}function a(r){var e=t();if(null==e)return!1;for(var n=e.split("."),a=r.split("."),i=0;3>i;i++){var o=+n[i],s=+(a[i]||0);if(o!==s)return o>s}return!0}var i,o="application/x-shockwave-flash",s={flashVars:0,allowFullScreen:1,allowNetworking:0,allowScriptAccess:0,align:0,base:0,bgcolor:0,fullScreenAspectRatio:0,loop:1,menu:1,play:1,quality:0,salign:0,scale:0,seamlessTabbing:1,wmode:0},l=/[\r%&+=]/g,c={"\r":"%0D","%":"%25","&":"%26","+":"%2B","=":"%3D"},u=React.createClass({statics:{getFPVersion:t,isFPVersionSupported:a},getInitialState:function(){return{src:this.props.src,params:null}},shouldComponentUpdate:function(r){var e=this.props;for(var n in e)if(!(!e.hasOwnProperty(n)||r.hasOwnProperty(n)&&e[n]===r[n]||n in s))return!0;for(var n in r)if(r.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&!(n in s))return!0;return!1},componentWillMount:function(){var r=this.props,e={movie:this.state.src};for(var t in s){var a=r[t];null!=a&&r.hasOwnProperty(t)&&"flashVars"!==t&&(e[t.toLowerCase()]=s[t]?a?"true":"false":""+a)}var i=r.flashVars;null!=i&&(e.flashvars="object"==typeof i?n(i):i),this.setState({params:e})},componentWillUnmount:function(){if(document.documentMode<9){var r=this.getDOMNode();for(var e in r)"function"==typeof r[e]&&(r[e]=null)}},render:function(){var r=this.props,e=this.state,n={type:o,data:e.src};for(var t in r)t in s||t in n||(n[t]=r[t]);var a=[n];for(var t in e.params)a.push(React.DOM.param({key:t,name:t,value:e.params[t]}));return r.children&&a.push(r.children),React.DOM.object.apply(null,a)}});return u});