Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   eigene html Objecte?? (https://www.delphipraxis.net/149788-eigene-html-objecte.html)

TitanNano 30. Mär 2010 09:49


eigene html Objecte??
 
Hi,
ich wollt mal wissen, ob man auch irgend wie eigene HTML Objekte machen kann. Ich hab das mal bei einer Internetseite gesehen, die Codes zur Verfügung stellt.

himitsu 30. Mär 2010 09:54

Re: eigene html Objecte??
 
Wie "eigene HTML-Objekte"?

Meinst du eigene Tags?
so ala <blablub>...</blablub>

Jain (Ja-Nein)

Ja, es geht, z.B. über eine entsprechende DTD, aber irgendwelche Browser bekommst du garnicht/schwer dazu diese entpsrechend zu interpretieren und das Gewollte anzuzeigen.

TitanNano 30. Mär 2010 10:04

Re: eigene html Objecte??
 
also ja ich möchte einen Tag. es soll so aussehen:
Code:
<name> </name>
und wo wanderst im Dokument z.b im head kann ich dann definieren was Name ist, z.b mit Java Script.

z.B:
Code:
<script type="text/javascript">
document.name.index="User";
</script>

Luckie 30. Mär 2010 10:07

Re: eigene html Objecte??
 
Zitat:

Zitat von TitanNano
also ja ich möchte einen Tag. es soll so aussehen:
Code:
<name> </name>

Ich glaube du solltest dich mal über Bei Google suchenXML schlau machen.

Zitat:

und wo wanderst im Dokument z.b im head kann ich dann definieren was Name ist, z.b mit Java Script.
Wie bitte? Formuliere das bitte noch mal in korrektem Deutsch.

TitanNano 30. Mär 2010 10:15

Re: eigene html Objecte??
 
z.B. im head kann man dann den Index des Tags vestlegen:
Code:
<script type="text/Javascript">
document.name.index= "User";
<script>

implementation 30. Mär 2010 10:16

Re: eigene html Objecte??
 
Die Idee mit den eigenen Tags ist gar nicht so abwegig.
Sowas ginge z.B. über DHTML-Components / Behavours.
Voll unterstützt werden diese jedoch nur vom Internet Explorer.
Mit etwas mehr Aufwand schafft man es auch beim Firefox, aber es gibt sicherlich viele Browser, die damit überhaupt nicht klar kommen.
Ein Tutorial und die entsprechende MSDN-Seite.

Hier mal ein Beispiel mit einem Ticker in (X)DHTML:
XML-Code:

<html xmlns:ticker>
<head>
 <style>
  ticker\:text {behavior:url(ticker.htc);}
 </style>
</head>
<body onload="ticker.start()">
<ticker:text id="ticker" text1="Dieser Text tickt!"
             text2="Text Nummer 2."
             text3="... und die letzte Nachricht." >
</ticker:text>
</body>
</html>
XML-Code:

<public:component>
 <public:property name="text1" value="1" id="text1" />
 <public:property name="text2" value="2" id="text2" />
 <public:property name="text3" value="3" id="text3" />
 <public:property name="pause" value=" " id="pause" />
 <public:property name="zeit" value="200" id="zeit" />
<public:method name="start" />
 <public:method name="stop" />
 <public:method name="display" />
 <script>
  var running = false;
  var timer;
  var pos = 0;
  function start()
  {
   running = true;
   display();
  }

  function stop()
  {
   running = false;
  }

  function display()
  {
   pos++;
   var s = text3.value+pause.value;
   s += text2.value+pause.value;
   s += text1.value+pause.value;
   if(pos > s.length){pos = 0;}
   s = s.substr(s.length-pos,s.length);
   innerHTML = s;
   if(running = true)
   {timer = window.setTimeout('ticker.display()',zeit.value);}
  }
 </script>
</public:component>
EDIT: Dazu unbedingt das hier durchlesen.

BUG 30. Mär 2010 10:17

Re: eigene html Objecte??
 
Du könntest XML benutzen und mittels XSLT für die Darstellung vom Browser in XHTML umwandeln lassen (da gab es doch mal in der c't so einen Artikel darüber, aber in welcher :gruebel: ).

Wenn du es nicht unbedingt sauber machen willst: Browser ignorieren in HTML Tags, die sie nicht kennen.

Andererseits ... was hast du vor, vielleicht gibt es eine bessere Lösung.

himitsu 30. Mär 2010 10:23

Re: eigene html Objecte??
 
Wenn du einen Text, auf einer Webseite, dynamisch zuweisen willst, dann geht es z.B. so:
XML-Code:
<span id="Name"> </span>
und dann kannst du über diese ID auf das Element zugreifen und z.B. .innerHtml etwas zuweisen.

TitanNano 30. Mär 2010 10:38

Re: eigene html Objecte??
 
ich habe eine Möglichkeit gefunden, wie ich den Tag definieren. doch ich wies nicht, wie ich die HTML und die XML Dateien verbinde. kann mir das jemand sagen?

hier ist noch der Code:
XML-Code:
[b]name:[/b]
  <pre>
  $_
   <script type="text/javascript">
   var name= prompt('Bitte geben ise ihren namen ein:','');
   document.write(name);
   </script>
  </pre>

TitanNano 30. Mär 2010 11:07

Re: eigene html Objecte??
 
he Leute,
hat sich erledigt, mache es jetzt über Perl.

Phoenix 30. Mär 2010 11:08

Re: eigene html Objecte??
 
Wus? Gibts Perl überhaupt noch?

himitsu 30. Mär 2010 11:25

Re: eigene html Objecte??
 
Perl ist doch auch nur soein Server-Side-Zeugs, so wie PHP und CGI?

JavaScript ist's Client-Side-Zeugs.



Hab aber dennoch nicht verstanden, was hier nun genau gemacht werden soll.

Phoenix 30. Mär 2010 11:27

Re: eigene html Objecte??
 
Ich auch nicht ;)
Wenns Clientseitig sein soll, dann wäre sowas prinzipiell ein Einzeiler.
Serverseitig würde ich sowieso nur noch mit ASP.NET arbeiten.

jfheins 30. Mär 2010 12:44

Re: eigene html Objecte??
 
Also spezielle "eigene" Tags gibt's eigentlich nicht, aber mit span oder div und einer CSS-Klasse (die man dann ja auch mit Javascript verändern kann) kann man doch eigentlich alles anstellen !?

TitanNano 30. Mär 2010 12:47

Re: eigene html Objecte??
 
also das funktioniere so:
es wird nun beispielsweise mein Perl Dokument über einen Link aufgerufen, der Link hängt automatisch einen Übergabewert an.
"http://website.de/perldoc.pl?name=Fritz"
das Perl Dokument liest den Übergabewert ein und speichert ihn in einer Variable.
jetzt muss das Dokument nur noch für den Web Browser ein HTML Dokument erstellen das mach ich ganz einfach mit "PRINT" an den richtigen stellen wo der Name auftauchen soll wir beim schreiben des Quellcodes die variable eingesetzt.

Valle 30. Mär 2010 12:54

Re: eigene html Objecte??
 
Zitat:

Zitat von himitsu
Perl ist doch auch nur soein Server-Side-Zeugs, so wie PHP und CGI?

CGI ist keine Programmiersprache, sondern wie PHP oder Perl, sondern eine Technik, mit deren Hilfe der Webserver Apache ausführbare Programme (z.B. Exe-Dateien) ausführen kann und dessen Ausgabe an den Webbrowser weiterleitet. Das ist eine einfache, aber ineffiziente (da langsame) Möglichkeit mit Delphi Webseiten zu schreiben. ;-)

Zitat:

Zitat von Phoenix
Wus? Gibts Perl überhaupt noch?

Auch wenn sich viele das vielleicht anders wünschen, aber Perl ist heutzutage gar nicht so unpopulär wie man denkt. Die relativ einfache Sprache und der sehr große Funktionsumfang (v.a. mit den ursprünglich von Perl kommenden Regular Expressions) machen Perl eben immer noch zu einer relativ beliebten Scriptsprache.

Liebe Grüße,
Valle

Phoenix 30. Mär 2010 13:21

Re: eigene html Objecte??
 
Man kann das auch nur mit reinem HTML und Javascript hinbekommen:
Code:
<html>
<body>

Hallo <span id="namePlaceholder"></span>!

<script type="text/javascript">
function getQueryString(name) {
  var fullQueryString = window.location.search.substring(1);
  var elements = fullQueryString.split('&');
  for (i=0; i < elements .length; i++) {
    var parts = elements [i].split('=');
    if (parts[0] == name) {
      return parts[1];
    }
  }
}

function replaceIt(idSelector, queryStringElement) {
  var elem = document.getElementById(idSelector);
  var value = getQueryString(queryStringElement);
  elem.innerHTML= value;
}

replaceIt('namePlaceholder', 'name');
</script>

</body>
</html>
Sogar der lokale Aufruf funktioniert:
Code:
file:///C:/Users/gingters/Desktop/test.html?name=Testname
Edit: Auch wenns nach link aussah wars keiner ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz