2009-09-27 10 views
0

Je suis en train d'écrire un dialogue simple qui est appelé par la galerie d'images flash sur le site et apparaît sur cette animation flash, mais il fonctionne assez bizarre sous IE tels que:jquery dialogue ui et IE

-Parfois montrant plusieurs du même article, comment puis-je empêcher l'ouverture du dialogue s'il en existe déjà un? -après l'ouverture d'un dialogue et en essayant de le fermer, il reste simplement là, si je minimise IE et maximise le retour, ce dialogue disparaît. -sur Firefox, la boîte de dialogue apparaît mais le contenu chargé ne peut pas être vu à moins que je ne déplace ma souris sur la boîte de dialogue, à ce moment le contenu à l'intérieur de la boîte de dialogue apparaît.

Voici mon HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <link type="text/css" href="/media/style.css" rel="stylesheet" /> 
    <link type="text/css" href="/media/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> 
    <script type="text/javascript" src="/media/jquery.js"></script> 
    <script type="text/javascript" src="/media/jquery-ui-1.7.2.custom.min.js"></script> 
    <script language="javascript">AC_FL_RunContent = 0;</script> 
    <script type="text/javascript" src="/media/AC_RunActiveContent.js"></script> 
    <script type="text/javascript"> 
</script> 
</head> 
<body bgcolor="#000000"> 
<!--url's used in the movie--> 
<!--text used in the movie--> 
<!-- saved from url=(0013)about:internet --> 
<center> 
<script language="javascript"> 
    function showItem(i){ 
      var url = "/item/?i="+i; 
      var dialog = $('<div style="display:hidden"></div>').appendTo('body'); 
      dialog.load(
       url, 
       {}, 
       function (responseText, textStatus, XMLHttpRequest) { 
        dialog.dialog({show:'blind',hide: 'slide',resizable: false,width: 'auto',height: 'auto',modal:true}); 
        //kapat: buttons: { "Kapat": function() { $(this).dialog("close"); } } 
       } 
      ); 
      return false; 
    } 


    if (AC_FL_RunContent == 0) { 
     alert("This page requires AC_RunActiveContent.js."); 
    } else { 
     AC_FL_RunContent(
      'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0', 
      'width', '100%', 
      'height', '600', 
      'src', '/media/preview', 
      'quality', 'high', 
      'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 
      'align', 'middle', 
      'play', 'true', 
      'loop', 'true', 
      'scale', 'noScale', 
      'wmode', 'transparent', 
      'devicefont', 'false', 
      'id', 'preview', 
      'bgcolor', '#2e2e2e', 
      'name', 'preview', 
      'menu', 'true', 
      'allowFullScreen', 'false', 
      'allowScriptAccess','sameDomain', 
      'movie', '/media/preview', 
      'salign', '' 
      ); //end AC code 
    } 
</script> 
<noscript> 
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1024" height="850" id="preview" align="middle"> 
    <param name="allowScriptAccess" value="sameDomain" /> 
    <param name="allowFullScreen" value="false" /> 
    <param name="movie" value="/media/preview.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /> <embed src="/media//media/preview.swf" quality="high" bgcolor="#000000" width="100%" height="850" name="preview" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
    </object> 
</noscript> 
</center> 
</body> 
</html> 
+0

Pourriez-vous poster un lien vers votre site? Le code que vous avez posté fera un peu plus de sens alors :) – jakeisonline

+0

pour le moment il n'est pas en place, seulement à mon localhost :) – Hellnar

+0

sans voir un exemple en direct, je ne peux pas vous aider, au moins. – jakeisonline

Répondre

1

Vous pouvez ajouter un identifiant à votre div et appeler la méthode isOpen sur la boîte de dialogue pour vérifier si elle est ouverte comme ça ...

function showItem(i){ 
      if($("#dialogId").dialog('isOpen') return false; 
      var url = "/item/?i="+i; 
      var dialog = $('<div id="dialogId" style="display:hidden"></div>').appendTo('body'); 

}

Ou pour vérifier si le div a été transformée en une boîte de dialogue comme celui-ci ...

 function showItem(i){ 
      if($('#dialogId').is(':data(dialog)')) return false; 
      var url = "/item/?i="+i; 
      var dialog = $('<div id="dialogId" style="display:hidden"></div>').appendTo('body'); 

}