2016-09-25 2 views
2

Я новичок в расширении браузера. Я пытаюсь сделать несколько простых вещей, но я действительно не знаю, почему они не работают. В чем проблема? Я не могу манипулировать DOM моего popup.html-файла. Вот пример:Microsoft Edge Extension, как манипулировать 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> 

А вот мой очень простой main.js файл:

$(document).ready(function() { 

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

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

После щелчка, содержание моего тела, кажется, не исчезает, но если я ставлю предупреждение, Я вижу, что мой код работает (когда появляется предупреждение). Но после события click() (когда я закрываю предупреждение) всплывающий файл, который он восстановил, и пункт все еще здесь.

Итак, что я делаю неправильно? Могу ли я манипулировать DOM моего всплывающего файла? Или мой код JS нуждается в исправлении? Я сделал несколько тестов, и я заметил, что любое событие, любые данные и любое действие умирают после события click(). Я также попробовать

location.href = "other_page.html"; 

в перенаправлении работу, но, как я сказал, после щелчка я возвращаюсь в popup.html файл.

Спасибо, я здесь больше спецификации

+0

Ваш код работает хорошо на моем конце. Не могли бы вы получить более подробную информацию, например, «manifest.json» и «Edge»? –

+0

Это мой манифест: http://pastebin.com/rXGWMKZe – Robert

+0

'' browser_style ": true' не поддерживается в Microsoft Edge, вы уверены, что расширение может быть успешно загружено? –

ответ

1

У меня была такая же проблема .... Я думаю, что край не нравится Jquery нажмите() функцию.

Попробуйте с этим:

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

Я решил таким образом :)

+0

Да, это работает! :) – Robert

Смежные вопросы