功能或按钮不起作用?

时间:2013-10-09 22:25:28

标签: javascript html google-chrome google-chrome-extension

我正在编写一个程序,可以在点击按钮时保存当前的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

然后重置。这仍然无效。我想一下我的程序如何调用该函数。我确实让它最初工作,但我不确定我是如何改变它的。谢谢!

3 个答案:

答案 0 :(得分:0)

问题似乎是变量tablink不在所有变更函数的范围之内。尝试在getpage函数之外定义它,然后在里面分配值。

答案 1 :(得分:0)

var tablink函数内的

getpage()仅限于该函数的范围,因此在设置innerHTML值时未定义。删除var关键字或将其定义在getpage()函数之外,将其更改为全局。

答案 2 :(得分:0)

您无法在属于扩展程序的页面中使用onclick属性指定事件处理程序。您需要使用javascript(addEventListener或类似的)绑定您的活动。