如此简单的事情怎么会如此不可能?
我想要做的就是单击我的扩展程序的browser_action按钮,打开一个包含几个设置的表单,然后单击表单上的按钮以启动进程.
我不能为我的生活拿到按钮点击后台表格来工作.
我试图在http://developer.chrome.com/extensions/contentSecurityPolicy.html#H2-3上运行示例,但事实并非如此.browser_action和背景的规则之间有区别吗?这就是我的事件监听器没有解雇的原因吗?
有人可以提供一个有效的例子吗?
manifest.json的:
{
"name": "Convert",
"version": "0.1",
"description": "Converts the current page",
"browser_action": {
"default_icon": "exticon.png",
"default_popup": "background.html"
},
"content_scripts": [{
"matches": ["*://*/*"],
"js": ["contentscript_static.js"]
}],
"permissions": [
"tabs", "http://*/*", "https://*/*"
]
}
Run Code Online (Sandbox Code Playgroud)
background.html:
<html>
<head>
<title>Converter</title>
<script src="background.js"/>
<script>
// Initialize the localStorage
if (null == localStorage["htmlImport"])
localStorage["htmlImport"] = false;
// Called when the user clicks on the browser action icon.
chrome.browserAction.onClicked.addListener(function(tab) {
console.log('in listener');
// execute the content script
chrome.tabs.executeScript(null,
{
file: …Run Code Online (Sandbox Code Playgroud) 我需要检索DOM元素的所有属性.我见过这个getAttribute()方法,但我事先并不知道属性的名称.如果我getElementById()用来检索元素,那么如何访问该元素的所有属性及其值?
Rookie JS问题在这里:
for( var p in ['nodeName', 'nodeType', 'tagName', 'localName'] ) {
console.log( p + '=' + all[i][p] + '\n' );
}
Run Code Online (Sandbox Code Playgroud)
我希望看到类似的东西
nodeName=DIV
Run Code Online (Sandbox Code Playgroud)
相反,我得到了
0=undefined
Run Code Online (Sandbox Code Playgroud)
我是否被迫将数组分配给变量,以便我可以索引它?有没有办法在for-in中使用此语法并从数组中检索字符串?
谢谢!