Thank you guys, so the problem come from minifier.
[quote:29gbwbrt]When exporting, Construct 2 gives the user the option to 'Minify script'. This runs the common and runtime scripts through Google Closure Compiler's ADVANCED_OPTIMIZATIONS mode. This imposes some limitations on what scripts can do. You must obey these limitations when writing your plugins, otherwise your plugin will be broken on export. More details can be found here (http://code.google.com/closure/compiler ... rial3.html).
The main thing is to always use dot syntax (Object.property) rather than bracket syntax (Object["property"]). All properties using dot syntax are changed by Closure Compiler, but none of the properties in bracket syntax are changed. Therefore, if you use Object.property in one place and Object["property"] in another to access the same property, the plugin will be broken on export. You may still use bracket syntax (e.g. for a dictionary of user-inputted strings) - just be aware of how Closure Compiler will transform the code.
i think i need change this :
window.ondrop = function (e)
for (var i = 0; i < e["dataTransfer"]["files"].length; ++i)
droppedfile = e["dataTransfer"]["files"]["path"];
e.preventDefault(); is the function prevent the original event browser , it seems that this function does not work after obfuscation