2010-01-16 3 views
1

J'ai essayé de faire afficher et masquer une option (éventuellement basculer) dans la fenêtre d'action de mon navigateur sans succès. Le code ci-dessous est le corps de mon pop-upAfficher Cacher div dans la fenêtre contextuelle de l'extension Chrome en utilisant jQuery

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="popup.js"></script> 
<div class="show"> 
    <a href="#" class="showcontent">Show</a> 
    <a href="#" class="hidecontent">Hide</a> 
    <div class="somecontent"> 
     <p>some content<br /> 
      <a href="#">Link</a><br /> 
     </p> 
    </div> 
</div> 

Le fichier contient popup.js, entre autres:

$(document).ready(function(){ 
    $(".somecontent").hide(); 
    $(".showcontent").click(function(){ 
     $(".somecontent").show(); 
    }); 

    $(".hidecontent").click(function(){ 
     $(".somecontent").hide(); 
    }); 
}); 

Je crois que le problème est que l'API Chrome est d'avoir des problèmes avec mon pop-up Fichier .js. Le corps apparaît dans ma fenêtre contextuelle, mais les actions Afficher et Masquer ne fonctionnent pas. Des idées pour faire ce travail et sinon, une autre façon d'obtenir le même résultat (par exemple: basculer sur clic)?

EDIT: De la console javascript, l'erreur que je reçois cette erreur:

Uncaught TypeError: Cannot call method 'ready' of null

, qui montre la ligne du code ci-dessus en utilisant la fonction prêt.

+0

avez-vous résolu cela?J'ai eu des problèmes similaires, mais le fixe en fixant l'ordre des '

0

Comme vous ne renvoyez pas de faux de vos gestionnaires de clics ni n'appelez preventDefault(), la page sera rechargée en cliquant sur et .somecontent sera à nouveau caché. Changez votre JS en suivant:

$(document).ready(function(){ 
    $(".somecontent").hide(); 
    $(".showcontent").click(function(){ 
     $(".somecontent").show(); return false; 
    }); 

    $(".hidecontent").click(function(){ 
     $(".somecontent").hide(); return false; 
    }); 
}); 
+0

Bien que cela a corrigé certaines des erreurs, je suis parti avec celui-ci: Uncaught TypeError: Impossible d'appeler la méthode 'ready' de null Qui est à partir du jQuery $ (document) .ready (function() {... au début de mon popup.js code Salutations – Guibone

0

Cette erreur signifie que jQuery n'est pas chargé correctement. Assurez-vous qu'il s'appelle jquery.js et qu'il est stocké dans le dossier racine.

0

Votre code a bien fonctionné pour moi. Comme dit l'autre, l'erreur que vous obtenez ressemble au fichier jquery.js qui n'est pas trouvé/chargé. Ceci est une vue longue, mais si vous êtes sur Windows, vérifiez les propriétés du fichier jquery.js et voyez s'il y a un bouton Unblock sur le premier onglet. Cliquez dessus.

0

Comme il semble que cette vieille question n'a toujours pas de réponse, j'ai pensé que je tenterais ma chance.

Avez-vous essayé de télécharger à nouveau jquery.js (le fichier est peut-être corrompu). De plus, si vous êtes toujours intéressé à le résoudre, vous pouvez publier votre src quelque part pour nous de lire (comme http://jsfiddle.net/)

11

Il est également possible que jQuery est en conflit avec quelque chose d'autre dans votre page pour l'utilisation de la fonction $(). (J'ai juste rencontré ce problème moi-même.) Si c'est le cas, changer les appels $() à jQuery() devrait résoudre le problème.

+0

Haha! Ravi d'entendre que cela a aidé, Jon. :) –

+0

Tnx pour cette réponse cela m'a vraiment aidé! – DownDown

+1

Ce fut mon problème aussi merci :RÉ – jwbensley

Questions connexes