这似乎是最容易的事情,但它没有用。在普通的浏览器中,.html和.js文件可完美运行,但在Chrome扩展程序中,该onClick
功能无法执行应有的功能。
.js文件:
function hellYeah(text) {
document.getElementById("text-holder").innerHTML = text;
}
.html文件:
<!doctype html>
<html>
<head>
<title>
Getting Started Extension's Popup
</title>
<script src="popup.js"></script>
</head>
<body>
<div id="text-holder">
ha
</div>
<br />
<a onClick=hellYeah("xxx")>
hyhy
</a>
</body>
</html>
因此,基本上,一旦用户单击“ hyhy”,“ ha”应更改为“ xxx”。再说一次-
它在浏览器中完美运行,但在扩展程序中不起作用。你知道为什么吗?以防万一我还要在下面附加manifest.json。
提前致谢!
manifest.json:
{
"name": "My First Extension",
"version": "1.0",
"manifest_version": 2,
"description": "The first extension that I made.",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"http://api.flickr.com/"
]
}
Chrome扩展程序不允许您使用内联JavaScript(文档)。您将必须执行与此类似的操作。
为链接分配一个ID(<a onClick=hellYeah("xxx")>
变为<a id="link">
),并用于addEventListener
绑定事件。将以下内容放入您的popup.js
文件中:
document.addEventListener('DOMContentLoaded', function() {
var link = document.getElementById('link');
// onClick's logic below:
link.addEventListener('click', function() {
hellYeah('xxx');
});
});
问题内容: 我使用黄油刀库完美地注入了视图。但是,当我尝试实现侦听器时,例如,我无法实现它们。以下Java代码将帮助您了解我的问题。 Java代码: 告诉我为什么会这样。代码有什么问题吗?我已经通过使用以下URL配置了与ButterKnife兼容的IDE。 http://stackoverflow.com/questions/27754811/onclick-is-not-working-in-
问题内容: 我想创建一个Google Chrome扩展程序。具体来说,我想制作一个打包的应用程序,而不是一个托管的应用程序。我认为这限制了我使用JavaScript(和HTML / CSS)是否正确? 我的问题是我需要做一些复杂的数学运算(奇异值分解,因子分析),并且我不想在javascript中为此编写算法。Python已经有了我需要的功能的库(SciPy),但是我找不到任何可以使用python
问题内容: 我做了一个test.html文档来测试脚本。不知何故它不起作用,我不明白为什么什么也没发生。该脚本位于-tags中,并带有-tag,而css也具有- tags。为什么不起作用?这是代码 问题答案: 由于用于绑定事件处理程序的代码是在元素存在于中之前执行的,因此事件未绑定到元素上。 要解决此问题,您可以 将您的代码包装在回调中,以便在加载完成后执行您的代码 将您的脚本移动到的末尾,以便所
问题内容: 我编写了上面的代码,以提供更方便的方式来声明自定义uicolor。但是以某种方式,它通过调用自身直到堆栈溢出而使我的应用程序崩溃。怎么了 另外,我只是意识到我没有明确调用此init函数。但是,当发生此错误时,我正在打电话。当然,如果我显式调用此函数,仍然会发生错误! 问题答案: 我认为这样做不会带来任何不便: 但是如果您真的需要一个,可以按照以下步骤操作:
问题内容: 我正在尝试使用一行jQuery代码制作一个Chrome扩展程序,但是它不起作用。我正在尝试触发元素上的点击。 chrome控制台根本不显示任何错误,并且当我仅将jQuery代码放在控制台中时,它可以正常工作。 我的代码: content.js background.js manifest.json 我还下载了文件,并将其放在扩展文件夹中。 谁能解释为什么它不起作用??? 问题答案: 问
问题内容: 我的Chrome扩展程序有小问题。 我只想从另一台服务器获取JSON数组。但是清单2不允许我这样做。我尝试指定,但是JSON数组存储在没有SSL证书的服务器上。 那么,不使用清单1怎么办? 问题答案: 该CSP不能引起你所描述的问题。您很有可能使用的是JSONP而不是纯JSON。JSONP在Chrome中不起作用,因为JSONP通过在文档中插入标签而起作用,该标签的属性设置为Web服务