2009-11-21 5 views
2

J'essaie d'utiliser YUI uploader, mais je ne suis pas en mesure d'ouvrir la fenêtre de dialogue de fichier lorsque je clique sur le bouton de navigation. Je suis (plus ou moins) le example on Yahoos demo.(YUI uploader) écouteurs pas féroces événements

Voici mon code HTML:

<div id="fileProgress"> 
    <input id="fileName" type="text" size="40" /> 
    <input id="uploaderUI" name="uploaderUI" class="submitButton" type="button" value="Browse" /> 
    <input id="uploadFile" name="uploadFile" class="submitButton" type="button" value="Upload" /> 
    <div id="progressBar"></div> 
</div> 

Et voici mon code javasctips:

jQuery(document).ready(function() { 
    initYUIUpload(); 
}); 

    function initYUIUpload() 
    { 
    YAHOO.widget.Uploader.SWFURL = "wp-includes/js/yui/assets/uploader.swf"; 
    var uploader = new YAHOO.widget.Uploader("uploaderUI"); 

    uploader.addListener('contentReady', handleContentReady); 
    uploader.addListener('fileSelect',onFileSelect) 
    uploader.addListener('uploadStart',onUploadStart); 
    uploader.addListener('uploadProgress',onUploadProgress); 
    uploader.addListener('uploadCancel',onUploadCancel); 
    uploader.addListener('uploadComplete',onUploadComplete); 
    uploader.addListener('uploadCompleteData',onUploadResponse); 
    uploader.addListener('uploadError', onUploadError); 

    jQuery('#uploadFile').click(function(){ upload() });    
    } 


MISE À JOUR
I "abandonné" à l'aide Uploader YUI, et je m en utilisant Uploadify maintenant.

Répondre

1

Je pense qu'il pourrait avoir quelque chose à voir avec cette note de la YUI page Uploader:

En raison des modifications de sécurité dans le prochain Flash Player 10, l'interface utilisateur pour appeler la boîte de dialogue « Parcourir » doit être contenu dans le lecteur Flash. A cause de cela, cette nouvelle version du Uploader n'est PAS COMPATIBLE avec le code écrit pour fonctionner avec la version précédente (elle est cependant compatible avec Flash Player 9). Ne passez pas à cette version sans lire attentivement la documentation et en examinant les nouveaux exemples.

Cela signifie au lieu d'appeler votre fonction de téléchargement directement à partir du bouton <input>, vous devez créer un autre <div> qui contiendra la superposition Flash transparent créé par YUI Uploader.

See the example from the YUI site:

<div id="uiElements" style="display:inline;"> 
     <div id="uploaderContainer"> 
      <div id="uploaderOverlay" style="position:absolute; z-index:2"></div> 
      <div id="selectFilesLink" style="z-index:1"><a id="selectLink" href="#">Select Files</a></div> 
     </div> 
     <div id="uploadFilesLink"><a id="uploadLink" onClick="upload(); return false;" href="#">Upload Files</a></div> 
</div> 

<script type="text/javascript"> 

YAHOO.util.Event.onDOMReady(function() { 
    var uiLayer = YAHOO.util.Dom.getRegion('selectLink'); 
    var overlay = YAHOO.util.Dom.get('uploaderOverlay'); 
    YAHOO.util.Dom.setStyle(overlay, 'width', uiLayer.right-uiLayer.left + "px"); 
    YAHOO.util.Dom.setStyle(overlay, 'height', uiLayer.bottom-uiLayer.top + "px"); 
    }); 

</script> 
+0

Ok, merci. Je vais vérifier cela une autre fois :) – Steven

2

J'ai eu ce même problème.

Il y a un bug avec la version 2.8 de uploader.swf

Si vous avez eu le même problème que moi, que le passage à la version 2.7 de uploader.swf fera le feu des événements comme prévu.

0

ok normalement quand le problème est sur le fichier swf, parce que ce fichier ouvre le dialogue pas JAVASCRIPT, donc vous devez télécharger le fichier et mettre dans votre serveur vous ne pouvez pas accéder directement au site yahoo .

vous pouvez également utiliser cette dépendance

mieux Nahum

PS. Ma première fois en utilisant yui upload avait le même problème.