2016-09-25 1 views
2

Je suis nouveau sur Browser Extension dev. J'essaie de faire des choses faciles, mais je ne sais pas vraiment pourquoi ça ne marche pas. Quel est le problème? Je ne peux pas manipuler DOM de mon fichier popup.html. Voici un exemple:Microsoft Edge Extension, comment manipuler popup.html DOM

<html> 
<head> 
<script src="js/jquery.js"></script> 
<script src="js/main.js"></script> 
</head> 
<body id="content"> 
<p> Hello world </p> 
<button id="go" /> 
</body> 
</html> 

Et voici mon fichier main.js très simple:

$(document).ready(function() { 

$('#go').click(function(){ 

    $("#content").empty(); 
    alert("Done"); 
}); 
}); 

Après avoir cliqué, le contenu de mon corps semble ne disparaît pas, mais si je mets une alerte, Je peux voir que mon travail de code (quand le spectacle d'alerte). Mais après l'événement click() (lorsque je ferme l'alerte), le fichier popup est restauré et le paragraphe est toujours là.

Alors, qu'est-ce que je fais mal? Puis-je manipuler le DOM de mon fichier popup? Ou mon code JS doit-il être corrigé? J'ai fait quelques tests, et je remarque que tout événement, toute donnée et toute action meurent après un événement click(). J'ai aussi essayer

location.href = "other_page.html"; 

le travail redirect, mais comme je l'ai dit après mon retour, cliquez dans le fichier popup.html.

Merci, je suis ici pour plus de spécification

+0

Votre code fonctionne bien à ma fin. Pourriez-vous s'il vous plaît plus de détails, tels que la version «manifest.json» et Edge? –

+0

C'est mon manifeste: http://pastebin.com/rXGWMKZe – Robert

+0

'' browser_style ": true' n'est pas supporté dans Microsoft Edge, êtes-vous sûr que l'extension peut être chargée avec succès? –

Répondre

1

J'ai eu le même problème .... Je pense que Edge n'aime pas la fonction clic jquery().

Essayez avec ceci:

document.getElementById("logout").addEventListener("click", function() { 
$("#content").empty(); 
alert("Done"); 
} 

Je l'ai résolu de cette façon :)

+0

Oui, ça marche! :) – Robert