2016-07-18 3 views

ответ

1

Как это работает без вложения .swf файл ??

Кажется, что они динамически обновляют страницу html (теперь есть встроенный SWF). Это означает использование innerHTML для генерации нового контента, который был не изначально закодирован в html-файле. Вы можете проверить базовое руководство about innerHTML здесь.

Глядя на FileAPI.js, начиная от line 3590 мы видим, что они действительно используют innerHTML встроить объект Flash-памяти. Он включается (динамически), когда запускается правильная функция Javascript.

Некоторые короткий фрагмент своего кода ниже:

/** 
* Publish flash-object 
* 
* @param {HTMLElement} el 
* @param {String} id 
* @param {Object} [opts] 
*/ 
publish: function (el, id, opts){ 
    opts = opts || {}; 
    el.innerHTML = _makeFlashHTML({ 
      id: id 
     , src: _getUrl(api.flashUrl, 'r=' + api.version) 
     //, src: _getUrl('http://v.demidov.boom.corp.mail.ru/uploaderfileapi/FlashFileAPI.swf?1') 
     , wmode: opts.camera ? '' : 'transparent' 
     , flashvars: 'callback=' + (opts.onEvent || 'FileAPI.Flash.onEvent') 
      + '&flashId='+ id 
      + '&storeKey='+ navigator.userAgent.match(/\d/ig).join('') +'_'+ api.version 
      + (flash.isReady || (api.pingUrl ? '&ping='+api.pingUrl : '')) 
      + '&timeout='+api.flashAbortTimeout 
      + (opts.camera ? '&useCamera=' + _getUrl(api.flashWebcamUrl) : '') 
      + '&debug='+(api.debug?"1":"") 
    }, opts); 
}, 

... etc etc etc ...