功能或按钮不起作用

Functions or buttons not working?

本文关键字:不起作用 按钮 功能      更新时间:2023-09-26

我正在编写一个程序,只需单击按钮即可保存当前URL(它对于chrome扩展程序,我想让PC制造商保存其零件的URL,而无需制作一百万个书签(

.HTML:

<!DOCTYPE html>
<html>

<body>
<script type="javascript" src="buttonsact.js"> 

</script>

<button type="button" onclick="changeCPU()">Change CPU</button><h5 id=CPU>Not Selected Yet</h5>
<button type="button" onclick="changeMOTH()">Change Motherboard</button><h5 id=MOTH   id=part>Not Selected Yet</h5>
<button type="button" onclick="changeHARD()">Change Hard Drive</button><h5 id=HARD>Not Selected Yet</h5>
<button type="button" onclick="changeRAM()">Change RAM</button><h5 id=RAM>Not Selected Yet</h5>
<button type="button" onclick="changeGPU()">Change GPU</button><h5 id=GPU>Not Selected Yet</h5>
<button type="button" onclick="changeCASE()">Change Case</button><h5 id=CASE>Not Selected Yet</h5>
<button type="button" onclick="changePOWER()">Change Power Unit</button><h5 id=POWER>Not Selected Yet</h5>
<button type="button" onclick="changeMON()">Change Monitor</button><h5 id=MON>Not Selected Yet</h5>
<button type="button" onclick="reset()">!!!!RESET!!!!</button>

</body>
</html>

Javascript:


function getpage()
{
    chrome.tabs.getSelected(null,function(tab) {
    var tablink = tab.url;
})
}
function changeCPU()
{
x=document.getElementById("CPU");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changeMOTH()
{
x=document.getElementById("MOTH");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changeRAM()
{
x=document.getElementById("RAM");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changeHARD()
{
x=document.getElementById("HARD");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changeGPU()
{
x=document.getElementById("GPU");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changeCASE()
{
x=document.getElementById("CASE");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changePOWER()
{
x=document.getElementById("POWER");  // Find the element
x.innerHTML=tablink;    // Change the content
}
function changeMON()
{
x=document.getElementById("MON");  // Find the element
x.innerHTML=tablink;    // Change the content
}

function reset()
{
a=document.getElementById("CPU");  // Find the element
b=document.getElementById("MOTH");
c=document.getElementById("HARD");
d=document.getElementById("RAM");
e=document.getElementById("GPU");
f=document.getElementById("CASE");
g=document.getElementById("POWER");
h=document.getElementById("MON");
a.innerHTML="Not Selected Yet";    // Change the content
b.innerHTML="Not Selected Yet";
c.innerHTML="Not Selected Yet";
d.innerHTML="Not Selected Yet";
e.innerHTML="Not Selected Yet";
f.innerHTML="Not Selected Yet";
g.innerHTML="Not Selected Yet";
h.innerHTML="Not Selected Yet";
}
window.onload = getpage()

我对其进行了测试,以查看是否只是我的代码通过更改以下内容来捕获URL: a.innerHTML="Not Selected Yet"; // Change the content

对此 a.innerHTML="Not Selected Yet Yet"; // Change the content

并点击重置。这仍然没有奏效。我想到了我的程序如何调用函数。我最初确实让它工作,但我不确定我是如何改变它的。谢谢!

不能

在作为扩展一部分的页面中指定具有 onclick 属性的事件处理程序。您需要使用 javascript(使用 addEventListener 或类似(绑定事件。

问题似乎是变量 tablink 超出了所有更改函数的范围。尝试在getpage函数外部定义它,然后在内部分配值。

getpage()函数内部的var tablink仅限于该函数的作用域,因此在设置 innerHTML 值时未定义。通过删除 var 关键字将其更改为全局关键字,或在 getpage() 函数外部定义它。