Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как найти координаты тэгов через Document.geteleme


Автор: eugene2007 30.8.2007, 23:11
Как найти координаты тэгов через Document.getelementsbytagname vb6 webbrowser
В программе статистики есть WebBrowser, при загрузке страницы даёт статистику
А как мне добиться координат элементов ХТЛ относительно страницы и экрана?
К примеру хочу найти координаты всех линков или фреймов и тп. К примеру
Document.getelementsbytagname("a")(i)
Есть образец на ЯвеСкрипт, но хотелось бы родное внутреннее ВБ6 решение проблемы

Код

function getElementPosition(elemId)
{
    var elem = document.getElementById(elemId);
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;
    var l = 0;
    var t = 0;
    
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }
    return {"left":l, "top":t, "width": w, "height":h};
}



Пытаюсь конвертировать в ВБ6

Код

Dim WithEvents doc As HTMLDocument
Dim elem As IHTMLElement
Set doc = ie.document
For x = 0 To  doc.getElementsByTagName("a").length - 1
Set elem = doc.getElementsByTagName("a")(x)

Хочу этот бред перевести как положено в while 
'"-PParent=" & elem.offsetParent.offsetParent.tagName & "=" & elem.offsetParent.offsetParent.id & _
'"-3Parent=" & elem.offsetParent.offsetParent.offsetParent.tagName & _
'"-4Parent=" & elem.offsetParent.offsetParent.offsetParent.offsetParent.tagName & _
'"-4Parent=" & elem.offsetParent.offsetParent.offsetParent.offsetParent.id


'Но этот вариант не получается вылетает с ошибкой непонятной

While (TypeOf elem Is IHTMLElement)
parentall = parentall & "-Parent Tag=" & elem.offsetParent.tagName & _
elem.id & ",l=" & elem.offsetLeft & ";t=" & elem.offsetTop & _
Set elem = elem.offsetParent
Wend
Next x



Помогите в этом участке кода пожалуйстя спасибо!

Автор: Akina 31.8.2007, 08:38
Пока я вижу несколько ошибок СИНТАКСИСА.

Автор: eugene2007 1.9.2007, 03:21
где ты их видишь? и зачем об этом говорить, смысл не в этом

Автор: Akina 2.9.2007, 20:17
Цитата(eugene2007 @  1.9.2007,  04:21 Найти цитируемый пост)
где ты их видишь?

Например, в втором фрагменте кода строка 19 по смыслу самостоятельна, а по тексту - продолжение 18-й.

Цитата(eugene2007 @  1.9.2007,  04:21 Найти цитируемый пост)
зачем об этом говорить

Затем, что тут помогают решать проблемы программирования, а не учат аккуратности. Мало того что надо разобраться в проблеме - так еще надо будет разбираться, где ты правильно написАл, а где ерунду. А кому оно нужно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)