0

ページ内のすべてのリンクを取得する必要がありますが、それらを取得します。問題は、ウェブサイトに href が 2 回存在することです。リンクを 2 回取得しないように、変数で少しトリックを行いました。

getAlllinks: function()
{
    var links = content.document.getElementsByTagName("a");

    var entries = new Array;
    var liens = new Array;

    for(var i = 0; i<links.length; i++)
    {
        if(entries.indexOf(links[i].href) == -1)
        {
            entries.push(links[i].href);
            liens.push(links[i]);
        }
    }


    return links;
}

今まではすべて問題ありませんでした。リンクをツリー (Xul) に配置しましたが、問題はここから始まりますscrollIntoView。リンクまでスクロールするのに使用します

var tree = document.getElementById("Tree_links");
var tbo = tree.boxObject;
var row = { }, col = { }, child = { };
tbo.getCellAt(event.clientX, event.clientY, row, col, child);
var cellText = tree.view.getCellText(row.value, col.value);

var links = new Array;
links = cleanLinks();

for (var i = 0; i < links.length; i++) 
{
    if (links[i].href === cellText.toString()) 
    {
        links[i].scrollIntoView("true");
        if(links[i].style.backgroundColor == "rgb(255, 255, 0)")
        {
            links[i].style.backgroundColor='transparent';
        }
        else
        {
            links[i].style.backgroundColor='#ffff00';
        }
    }
}

ページに2回あるリンクはスクロールしませんが、ツリーにすべてのリンク(2回または1回)を配置するとスクロールします。

前もって感謝します。

4

1 に答える 1

0

さて、私はそれを理解しました、ツリーを埋めるときに行った変数で行っていたトリック

于 2013-06-24T13:32:57.337 に答える