Seite 1 von 2

WebGadget zur Zeile x scrollen

Verfasst: 11.09.2008 23:19
von stalky13
Servus :mrgreen:

ich würde ganz gerne in einem webgadget zu einer bestimmten Zeile scrollen so das diese am oberen Rand ist. wenn ich das über die scrollbar position (in Pixel) mache dann habe ich das problem das wenn man das Gadget verkleinert sich durch den zeilenumbruch die geamtlänge der seite verändert und dann stimmt die position ned mehr. :? gibt es eine einfache möglichkeit zu einer bestimmten stelle im text zu scrollen und auch die aktuelle text position auszulesen?

danke für eure hilfe :allright: mfg stalky13

Verfasst: 11.09.2008 23:29
von Fluid Byte
HTML hält sich an keinen Standard wie ein StringGadget oder vergleichbares. Du kannst alles von Text, über Bilder bis zu Multimedia Inhalten darstellen. Es ist also nicht möglich so zu scrollen das eine Textzeile innerhalb von gemischten Inhalten genau am oberen Rand erscheint. Es könnte vielleicht funktionieren wenn du ausschließlich Text darstellst der eine einheitliche Texthöhe besitzt (formatiert mittels CSS).

Verfasst: 12.09.2008 00:01
von AND51
> Es ist also nicht möglich so zu scrollen das eine Textzeile innerhalb von gemischten Inhalten genau am oberen Rand erscheint
Doch, und zwar wenn HTML-Anker eingesetzt werden.
Schau doch mal im HTML-Quellcode, um deinen Text A-Tags mit Name-Attributen stehen; wenn ja hast du Glück.

Verfasst: 12.09.2008 11:28
von stalky13
hi :mrgreen:

sehrgut ... danke :allright: wenn ich mit <a name="Anker"></a> eine Anker setze dann kann ich ganzeinfach die position anspringen in dem ich #Anker hinter den URL hänge. die derzeitige position vom webgadget im HTML code zu ermitteln ist da allerdings etwas komplizierter. so spontan fällt mir da volgende lösung ein...

mit der maus einen belibigen text im Gadget markieren und dann nach dem text im html code suchen ... <a name="Anker"></a> drumherung und fertig :freak: ... oder hat noch jemand ne elegantere lösung? :)

mfg stalky

Verfasst: 12.09.2008 11:51
von Fluid Byte
... dann kann ich ganzeinfach die position anspringen in dem ich #Anker hinter den URL hänge
Was denn für eine URL? Können wir mal klären was genau du vorhast? Sowie das aussieht hat das rein gar nichts mit dem WebGadget zu tun sondern du kloppst ganz normal eine Website zusammen. Willst ausschließlich Text mit einer einheitlichen Zeilenhöhe darstellen oder kommt da noch was anderes?

Verfasst: 12.09.2008 11:59
von AND51
Fluidi, mach endlich Platz für den HTML-Anker... :mrgreen:

OK, ernsthaft: stalky13, klär uns mal ein bisschen auf, schusterst du hier deine eigene Webseite zusammen und streamst es in das WebGadget() mit SetGadgetText() oder möchtest du eine fremde Webseite anzeigen lassen und dann zu einem bestimmten Punkt scrollen lassen?

Denn besonders wenn es eine fremde Webseite ist, die du erst runterlädst, kann es ja sein, dass um den Zieltext herum kein Anker steht; in diesem Fall müsstest du selbst einen drum herum setzen.
stalky13 hat geschrieben:sehrgut ... danke :allright:
Ich weiß... 8)

Verfasst: 12.09.2008 12:32
von Fluid Byte
AND51 hat geschrieben:Fluidi, mach endlich Platz für den HTML-Anker... :mrgreen
Du weißt schon das Anker Schwachsinn sind wenn die Zeilen umbrochen werden oder?

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>untitled</title>
</head>

<body>
<script type="text/javascript">
for (i=0; i<50; i++) {
	document.write("lorem ipsum dolor sit amet. ");
}
</script>
</body>
</html>
An diesem Beispiel sieht man das die Anzahl der Zeilen durch die Breite des Fensters bestimmt wird. Wie willst du jetzt mit einem Anker bspw. zur Zeile #3 springen?

Aber wie gesagt, ist alles Spekulation solange stalky sein Anliegen nicht präzisiert.
AND51 hat geschrieben:
stalky13 hat geschrieben:sehrgut ... danke :allright:
Ich weiß... 8)
Auch wenns vielleicht nicht ganz ernst gemeint war, piss mal nicht ganz so 'nen dicken Strahl ... :shock:

Verfasst: 12.09.2008 12:50
von stalky13
servus nochmal

den html kot der in meinem webgadget angezeigt wird ist auf der festplatte und ned im internet und besteht aus reinem text und simple bilder also kein javascript oder so und das mit den ankern klappt auch soweit. die werden von meinem programm in den html code eingestzt und zwar dort wo man den text im webgadget markiert. so das später die zuvor markierte stelle wieder angezeigt werden kann ...
Fluid Byte hat geschrieben:Was denn für eine URL?
na wenn ich eine html datei öffne (wo auch immer die sich befinedet im internetz oder auf der hdd) dann gebe ich den webgadget einen url zur html datei ... z.B. www.schlagmichtot.de oda c:\eins\zwei\drei\schwachsinn.html und da knall ich dann ganzeinfach #Ankername dahinter und losgeht :D

Verfasst: 12.09.2008 12:58
von Fluid Byte
stalky13 hat geschrieben:die werden von meinem programm in den html code eingestzt und zwar dort wo man den text im webgadget markiert. so das später die zuvor markierte stelle wieder angezeigt werden kann ...
Wie eingesetzt? Womit makiert? Du lädst eine HTML-Datei mit Bilder und Text dann "makierst du irgendwas" und dann ist da ein Anker? Häh?!

Poste mal bitte den entsprechenden Code sonst kann ich das absolut nicht nachvollziehen ... :freak:

Verfasst: 12.09.2008 13:25
von bobobo

Code: Alles auswählen

Enumeration
  #Window_0
  #Web_0
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 600, 300, "ach! So ist das ..", #PB_Window_ScreenCentered| #PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(#Window_0))
    WebGadget(#Web_0, 0, 0, 610, 300, "http://www.purebasic.fr/german/viewtopic.php?p=212064#212064",#PB_Web_Mozilla)
  EndIf
EndIf
Repeat
event= WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
was is daran nich zu verstehen

als quelle kann auch eine lokal liegende htmlDatei liegen.