Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用onclick事件在JavaScript中调用函数_Javascript_Google Chrome Extension_Onclick - Fatal编程技术网

如何使用onclick事件在JavaScript中调用函数

如何使用onclick事件在JavaScript中调用函数,javascript,google-chrome-extension,onclick,Javascript,Google Chrome Extension,Onclick,我正在创建一个GoogleChrome扩展,我正在尝试制作一个按钮,一旦点击,就会在一个新选项卡中打开一个存储的随机网站。我搜遍了这个网站,尝试了一切都没有用。我肯定我错过了一些简单的东西 我知道随机网站功能本身是有效的,因为我最初将其作为上下文菜单功能使用,效果很好。然而,现在我试图把它做成一个按钮,它似乎不起作用 在randomSiteTestScript.js中: var links = [multiple hhtp:// links] document.getElementById("

我正在创建一个GoogleChrome扩展,我正在尝试制作一个按钮,一旦点击,就会在一个新选项卡中打开一个存储的随机网站。我搜遍了这个网站,尝试了一切都没有用。我肯定我错过了一些简单的东西

我知道随机网站功能本身是有效的,因为我最初将其作为上下文菜单功能使用,效果很好。然而,现在我试图把它做成一个按钮,它似乎不起作用

在randomSiteTestScript.js中:

var links = [multiple hhtp:// links]

document.getElementById("randomsite").addEventListener("click", openSite);

function openSite() {
    code that works
};
在popup.html中:

<p><button id="randomsite">Click for random site!</button></p>
<script src="randomSiteTestScript.js"></script>
点击随机站点

单击按钮后,绝对不会发生任何事情。我没有收到任何错误,但什么都没有发生。同样,我知道openSite功能可以正常工作,因为自从从上下文菜单功能移动以来,我没有做任何更改。我认为根本没有调用该函数。
提前感谢您的帮助

这里不需要事件侦听器。。。只需使用内联onclick事件处理程序

<button id="randomsite" onclick="openSite(links[Math.floor(Math.random()*links.length)]);">Click for random site!</button>
点击随机站点!

将URL传递到OpeSite(URL)并从那里处理打开的内容。

尝试在openSite函数中添加
alert('something')
,并删除所有内容。您的代码应能正常工作,不会出现警报。真的不知道为什么它不工作…如果没有一个真正的程序,这听起来像是调试器的工作,调试器是主要的编程工具之一。您可以在浏览器中调试代码。在初始化randomSiteTestScript.js时,是否检查了DOM中是否存在“randomsite”按钮?问题可能是因为单击事件未绑定到element@JohnPappas检查chrome调试器>源。看看你的js文件是否真的加载了。错误的建议。默认情况下,内联代码在扩展的自有页面中不起作用。实际问题用简短的文字描述。randomsite.onclick=function(){openSite(links[Math.floor(Math.random()*links.length)];};您可以创建单独的函数,将代码放入其中。内联代码是一种糟糕的做法。