我正在编写一个程序,可以在点击按钮时保存当前的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
然后重置。这仍然无效。我想一下我的程序如何调用该函数。我确实让它最初工作,但我不确定我是如何改变它的。谢谢!
答案 0 :(得分:0)
问题似乎是变量tablink不在所有变更函数的范围之内。尝试在getpage函数之外定义它,然后在里面分配值。
答案 1 :(得分:0)
var tablink
函数内的 getpage()
仅限于该函数的范围,因此在设置innerHTML值时未定义。删除var
关键字或将其定义在getpage()
函数之外,将其更改为全局。
答案 2 :(得分:0)
您无法在属于扩展程序的页面中使用onclick
属性指定事件处理程序。您需要使用javascript(addEventListener
或类似的)绑定您的活动。