我正在编写一个网页(在PHP中,虽然这个问题不涉及PHP本身),它存储URL并允许您将标签应用于它们,因此可以搜索URL通过标签。动态设置链接的目标什么都不做
我试图添加容量来设置一个复选框,以定义URL是否会在新选项卡中打开,或默认情况下在一堆JavaScript和Cookie中打开相同的选项卡。该复选框在页面加载之间正确保持其状态,但没有任何链接被赋予target =“_ blank”。
我已经给出了所有URL“出站”类,并且使用稍微未记录的document.getElementsByClassName()函数来获取与此类的所有链接,并且我已验证此部分是可用的,因为它正在返回一个链接数组,其大小与页面上的URL数量相同。
下面是我在做什么的例子:
function onload() {
newtab = readCookie("newtab");
if (newtab == null) {
createCookie("newtab", "true");
newtab = "true";
}
newtab = (newtab == "true");
updateLinks(newtab);
}
function updateLinks(newtab) {
if (newtab)
target="_blank";
else
target="";
for (link in document.getElementsByClassName("outbound")) {
link.target = target;
}
}
function checkboxToggled(checkbox) {
updateLinks(checkbox.checked);
}
我验证过“目标”在updateLinks()是正确设置它遍历所有环节之前。有人有什么可能失败的建议吗?
我已经在谷歌Chrome浏览器(我的主浏览器)和Firefox上测试过这个功能,但它也没有正常工作。 (奇怪的是,Firefox给了我一个“太多的递归”错误)
你根本不想使用'for..in' 。而且你真的不想在每次循环迭代中重复搜索。 – 2011-05-06 08:54:13
同意,但它解决了他一直在挣扎的东西。 – 2011-05-06 09:08:19