fullAvatarEditor.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. function fullAvatarEditor() {
  2. var id = 'fullAvatarEditor' //flash文件的ID
  3. var file = '/global/avaup/fullAvatarEditor.swf'; //flash文件的路径
  4. var version = "10.1.0"; //播放该flash所需的最低版本
  5. var expressInstall = '/global/avaup/expressInstall.swf'; //expressInstall.swf的路径
  6. var width = 630; //flash文件的宽度
  7. var height = 430; //flash文件的高度
  8. var container = id; //装载flash文件的容器(如div)的id
  9. var flashvars = {};
  10. var callback = function() {
  11. };
  12. var heightChanged = false;
  13. //智能获取参数,字符类型为装载flash文件的容器(如div)的id,第一个数字类型的为高度,第二个为宽度,第一个object类型的为参数对象,如此4个参数的顺序可随意。
  14. for (var i = 0; i < arguments.length; i++)
  15. {
  16. if (typeof arguments[i] == 'string')
  17. {
  18. container = arguments[i];
  19. }
  20. else if (typeof arguments[i] == 'number')
  21. {
  22. if (heightChanged)
  23. {
  24. width = arguments[i];
  25. }
  26. else
  27. {
  28. height = arguments[i];
  29. heightChanged = true;
  30. }
  31. }
  32. else if (typeof arguments[i] == 'function')
  33. {
  34. callback = arguments[i];
  35. }
  36. else
  37. {
  38. flashvars = arguments[i];
  39. }
  40. }
  41. var vars = {
  42. id: id
  43. };
  44. //合并参数
  45. for (var name in flashvars)
  46. {
  47. if (flashvars[name] != null)
  48. {
  49. if (name == 'upload_url' || name == 'src_url')
  50. {
  51. vars[name] = encodeURIComponent(flashvars[name]);
  52. }
  53. else
  54. {
  55. vars[name] = flashvars[name];
  56. }
  57. }
  58. }
  59. var params = {
  60. menu: 'true',
  61. scale: 'noScale',
  62. allowFullscreen: 'true',
  63. allowScriptAccess: 'always',
  64. wmode: 'transparent'
  65. };
  66. var attributes = {
  67. id: vars.id,
  68. name: vars.id
  69. };
  70. var swf = null;
  71. var callbackFn = function(e) {
  72. swf = e.ref;
  73. swf.eventHandler = function(json) {
  74. callback.call(swf, json);
  75. };
  76. };
  77. swfobject.embedSWF(
  78. file,
  79. container,
  80. width,
  81. height,
  82. version,
  83. expressInstall,
  84. vars,
  85. params,
  86. attributes,
  87. callbackFn
  88. );
  89. return swf;
  90. }