Chrome扩展:访问DOM的弹出.html和让jQuery工作
Chrome Extension: accessing the DOM of the popup.html AND getting jQuery to work
我正在尝试写一个Chrome扩展,但我遇到了两个问题(请记住,我是一个绝对的初学者,当它涉及到构建Chrome扩展):
-
我想访问的popup.html文件的DOM(这是我的扩展的基础)。我试过直接在pop .html内使用脚本,但我从Chrome得到警告说,内联脚本是不安全的。我尝试过以同样的方式使用外部文件,这也不起作用。我也试过把代码在后台脚本文件以及内容脚本文件。
-
其次,我想使用jQuery来访问我的popup.html页面,它似乎不工作。
{
"name": "Test",
"version": "1",
"manifest_version": 2,
"browser_action":
{
"default_icon": "icon.png",
"default_title": "Testing.",
"default_popup": "popup.html"
},
"background":
{
"scripts": ["jquery.js", "background.js"],
"persistent": false
},
"content_scripts":
[
{
"matches": ["http://*/*", "https://*/*"],
"js": ["content.js"]
}
]
}
这是我的popup.html文件:
<!DOCTYPE HTML>
<html>
<head>
<link type="text/stylesheet" rel="stylesheet" href="style.css"/>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="background.js"></script>
</head>
<body>
<div id="container">
<div id="top_bar"> NAV BAR</div>
</div>
</body>
</html>
为了测试这一切,我一直在尝试访问div
导航栏并简单地显示其内容,但警报总是显示null
。当使用jQuery时,警报甚至不会出现。
这是我使用的JavaScript:
var div = document.getElementById("top_bar");
alert(div.innerHTML);
我真的很感激这方面的一些帮助,以及一个解释,在哪里适当的地方将是把代码访问的弹出窗口。html页面的DOM。
1)使用相同的脚本作为背景和弹出脚本几乎总是一个坏主意,除非它是一个通用的实用程序库。别把它们弄混了。
2)你的JS在任何<body>
被构造之前被执行。您应该将它包装在某个DOM就绪事件中。由于您使用的是jQuery,因此可以这样做:
$(document).ready(function(){
var div = document.getElementById("top_bar");
alert(div.innerHTML);
});
3)不要在弹出窗口中使用提醒。它可以使弹出失去焦点,这将导致它被破坏。对于调试,使用标准的console.log()
工具。
4) . .并查看控制台和弹出的错误,右键单击浏览器操作按钮,选择"检查弹出"。
相关文章:
- 在索引.html和应用.js [node.js] 之间共享变量
- 创建一个循环来简化HTML和CSS代码
- 依赖<选择>HTML和JavaScript菜单
- 具体化:如何只使用HTML和Javascript制作播放/暂停按钮
- 浏览器坚持使用旧的html和JS缓存
- 使用CSS、HTML和Javascript在随机图像的页面上调整图像大小
- 使用html和Javascript进行客户端排序
- AngularJS:带有HTML和angular表达式的指令;编译”;具有外部范围的内容
- 正在创建网页,并希望将外部链接调用为html和css
- 使用HTML和JS的iPhone游戏中的性能问题,以及appMobi
- 纯HTML和压缩Javascript文件
- 将php页面的一个部分渲染为HTML和CSS后生成PDF,并考虑PDF分页符
- 如何在html和javascript中捕捉聚合物元素的屏幕截图
- 使用websockets加载.html和.js
- 使用HTML和任何服务器端语言(PHP,.net,ruby)制作的网站是否可以在每个具有浏览器的设备上工作
- 使用 HTML 和 JavaScript 从表单访问值时返回 undefined
- 让 html 和 javascript 在 rails 中以正确的顺序加载
- 可以't让JQuery附加一些html和一个值
- 我怎样才能让emacs区分我在编写PHP、HTML和JavaScript时的不同之处?
- Chrome扩展:访问DOM的弹出.html和让jQuery工作