2016-09-25 269 views
2

我是Browser Extension的新手。 我试图做一些简单的事情,但我不知道为什么do not't工作。 问题是什么?我无法操作popup.html文件的DOM。 下面一个例子:微软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