Partnerprogramm links validieren?

Status
Nicht offen für weitere Antworten.

son gohan

Erfahrenes Mitglied
Hallo Leute,

ich habe schon länger das Problem mit den validieren von Partnerprogramm Links. Wenn man die Links falsch schreibt, dann besteht die Gefahr, das man später nicht sein Geldn bekommt usw. Aber wenn ich wegen der zwei drei Links, die ich auch nicht wecklassen kann, meine ganze Siete nicht valide bekomme ist das auch wieder bicht schön.

Die meisten Links sehen ja gleich asu, ich stelle hier mal ein Beispiel auft:
HTML:
href="http://www.zanox-affiliate.de/ppc/?1798209C195761627T&ULP=[[913898-0]]

Der VAlidator sagt mir dazu z.B.:
Referenz auf Entität "ULP", für welche kein Systembezeichner erzeugt werden konnte

Ich bekomme aber bei Parnerlinks öfter die Meldung vom Validator das irgendwas mit ULP nicht stimmt.

Wer weis den was wie und ob man da was machen kann?

GRuß
feh
 
Hallo hpvw,dank schön, das hat anscheinend geklappt, bist du dir auch sicher das der Link so trotzdem angenommen wird von dem Partnerprogramm Betreiber?

Ich habe auch noch ein letztes Problem in meiner Seite. Ich habe ein Tooltip mit Javascript eingebaut und überall dort wo ich ein Attribut tip="" einfüge erscheint der Tooltip.

Der Validator sagt mir aber:

Im Tag img ist das Attribut `TIP` nicht erlaubt.

Was kann man da machen? Vielleicht ein anderes Wort nehmen für den Tip wenn das überhaupt geht, oder wird der validator nicht fast gegen jedes Wort im img Tag etwas haben?

Gruß
feh
 
feh hat gesagt.:
Hallo hpvw,dank schön, das hat anscheinend geklappt, bist du dir auch sicher das der Link so trotzdem angenommen wird von dem Partnerprogramm Betreiber?
Das hat eigentlich mit dem Betreiber nichts zu tun. Der Browser interpretiert den String im href-Attribut, erkennt die Entität amp und macht daraus ein kaufmännisches Und (&). Diesen String, der dem in Deiner Browser-Adressleiste entspricht, wenn Du nach dem Klick mal reinschaust, sendet Dein Browser an den Server, also genau so, wie Du ihn ursprünglich geschrieben hast.

feh hat gesagt.:
Ich habe auch noch ein letztes Problem in meiner Seite. Ich habe ein Tooltip mit Javascript eingebaut und überall dort wo ich ein Attribut tip="" einfüge erscheint der Tooltip.

Der Validator sagt mir aber:

Im Tag img ist das Attribut `TIP` nicht erlaubt.

Was kann man da machen? Vielleicht ein anderes Wort nehmen für den Tip wenn das überhaupt geht, oder wird der validator nicht fast gegen jedes Wort im img Tag etwas haben?

Gruß
feh
Du kannst doch nicht wild Attribute einführen :eek:
Ich kenn ja Dein JavaScript nicht und kenne mich auch nicht so gut in JS aus, aber Du könntest das lösen, indem Du den Elementen einen entsprechenden Namen oder eine ID gibst.
EDIT: Wenn Dein Tooltip nur aus Text besteht, würde ich ihn in das title-Attribut schreiben und auf JS verzichten.

Gruß hpvw
 
Hallo hpvw,
wenn ich nur den title Attribut nehme ist das in dem Fall nicht so gut, weil es nicht nu nicht bei jedem Browser funktioniert, sondern auch nicht so gut aussieht.

Tja, leider habe ich selber auch nicht so viel Ahnung oder besser gesagt gar keine Ahnung von Javascript, aber ich zeige mal das ganze, vielleicht fällt ja jemand was ein:

Javascript im head:

HTML:
<script language="JavaScript" type="text/javascript">
<!--
// Variablen zum Konfigurieren des Tooltips:
var offsetx = 15; // horizontaler Abstand zum Mauszeiger
var offsety = -22; // vertikaler Abstand zum Mauszeiger
var maxopacity = 90; // maximaler opacity-Wert für Tooltip
var fade = 1; // zum Deaktivieren des Fade-Effekts wähle 0
var fadestep = 76; // Zunahme des Faders, je höher desto schneller
var fadespeed = 2; // Geschwindigkeit des Faders, je höher desto langsamer
var animation = 1; // 0 = deaktivieren; 1 = Tooltip folgt Mauszeiger
var vdelay = 280; // Vorlaufzeit, bis der Tooltip gezeigt wird (in millisekunden)
// diese Variable nicht editieren!
var x, y = 0; // linke und obere Position
// Diesen Script-Code nicht editieren!
// Tooltip folgt dem Mauszeiger, siehe auch Variable "animation"
function followit(e)
{
		if (otooltip.active && animation) moveit(e);
}
// Tooltip positionieren
function moveit(e)
{
		events.init(e);
		opage.getcanvas();
		x = events.mousex + offsetx + otooltip.w > opage.w ? events.mousex - offsetx - otooltip.w : events.mousex + offsetx;
		y = events.mousey + offsety + otooltip.h > opage.h ? events.mousey - offsety - otooltip.h : events.mousey + offsety;
		otooltip.moveto(x, y);
}
// Tooltip einblenden
function showit(e)
{
		var el = window.event ? event.srcElement : e.currentTarget;
		if (el)
		{
				otooltip.writehtml(el.getAttribute('tip'));
				otooltip.active = true;
				moveit(e);
				if (fade)
				{
						otooltip.showtimer = setTimeout('otooltip.visibility(1); otooltip.fadeto(' + maxopacity + ', ' + fadestep + ', ' + fadespeed + ');', vdelay);
				}
				else
				{
						otooltip.showtimer = setTimeout('otooltip.visibility(1); otooltip.setopacity(' + maxopacity + ')', vdelay);
				}
		}
}
// Tooltip ausblenden
function hideit(e)
{
		otooltip.active = false;
		clearTimeout(otooltip.showtimer);
		clearTimeout(otooltip.fadetimer);
		otooltip.visibility(0);
		otooltip.setopacity(0);
}
// init-Funktion
function init()
{
		otooltip = new dhtmlobject('tooltip');
		otooltip.setopacity(0);
		otooltip.active = false;
		otooltip.showtimer = 0;
		var el = bw.ie5 ? d.all : d.getElementsByTagName ? d.getElementsByTagName('*') : null;
		for (var i = 0; i < el.length; i++)
		{
				if (el[i].getAttribute('tip'))
				{
						addevent(el[i], 'mouseover', showit);
						addevent(el[i], 'mouseout', hideit);
				}
		}
		addevent(document, 'mousemove', followit);
}
// Script in Seite laden
onload = init;
//-->
</script>

HTML im inhalt:

HTML:
<a href="http://www.np-k.de/hifi.html" onfocus="if(this.blur)this.blur()"><img tip="Der Tip der Tip Der Tip Der Tip" src="jpg/2.jpg" class="menulinks" alt=""></a>

HTML das ganz unten vor body Tag kommt:

HTML:
<div id="tooltip">tooltip layer</div>

Jetzt ist die Frage mit welchem Attribut auser tip ich den Tolltip ansprechen kann, damit es valide bleibt.

Gruß
feh
 
In welchem Browser funktioniert denn das title-Attribut nicht? Ich benutze das nämlich recht häufig, teste jedoch immer nur IE, NS und FF.

Du solltest für jedes Bild ein eigenes div machen und dort den Tooltip reinschreiben. Dem div gibst Du eine eindeutige id. Du versteckst das div im Normalfall mittels CSS. Beim hovern des Bildes blendest Du es über die id genau so ein, wie Du das einzelne div jetzt benutzt.

Wenn da jedoch für den User informative Dinge drinstehen, würde ich trotzdem dasselbe ins title-Attribut schreiben. So erhält er die Information auch, wenn er JavaScript deaktiviert hat. Evtl. gibt es die Möglichkeit, mit einem JavaScript den Inhalt der title-Attribute zu löschen, so dass User mit JavaScript keine doppelten Informationen bekommen.

Alternativ könntest Du auch den Inhalt von dem title-Attribut auslesen und Dein div verwenden, wie bisher. Bevor Du Dein div einblendest löscht Du den Inhalt vom title-Attribut, diesen speicherst Du zwischen und wenn Du den Tooltip ausblendest setzt Du den Inhalt vom title-Attribut zurück.

Gruß hpvw
 
Hallo lieber hpvw,

da hats du mir einige gute Tips gegeben, vielen Dank Dank. Ich müste jetzt daher etwas rumprobieren und sehen was ich davon schaffen kann.

Alleine der Titel Attribut tut es ja nicht, weil da nicht alles angezeigt wird. Und leider habe ich mich auch eben vertan mit dem Titel und dem Alt Attribut, welches nicht überall angezeigt wird, schuldige.

Gruß
feh
 
Hallo hpvw,

vielen Dank für den Link, ich hab mir mal einiges durchgelesen und mit meinem tooltip ausprobiert, aber mir fehlen einfach zu viel Javascript Kentnisse um das Problem zu lösen.

Und bevor ich anfange Javascript zu lernen sollte ich glaub ich besser erst mal HTML und CSS perfektionieren.

Daher muss ich wieder mal um etwas Hilfe bitten, ich poste einfach nochmal mein gesamten Code:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Tolltip</title>
<link rel="STYLESHEET" href="styles.css" type="text/css">
<script language="JavaScript" type="text/javascript" src="tooltip.js"></script>
 
<script language="JavaScript" type="text/javascript">
<!--
// Variablen zum Konfigurieren des Tooltips:
var offsetx = 15; // horizontaler Abstand zum Mauszeiger
var offsety = -22; // vertikaler Abstand zum Mauszeiger
var maxopacity = 90; // maximaler opacity-Wert für Tooltip
var fade = 1; // zum Deaktivieren des Fade-Effekts wähle 0
var fadestep = 76; // Zunahme des Faders, je höher desto schneller
var fadespeed = 2; // Geschwindigkeit des Faders, je höher desto langsamer
var animation = 1; // 0 = deaktivieren; 1 = Tooltip folgt Mauszeiger
var vdelay = 280; // Vorlaufzeit, bis der Tooltip gezeigt wird (in millisekunden)
// diese Variable nicht editieren!
var x, y = 0; // linke und obere Position
// Diesen Script-Code nicht editieren!
// Tooltip folgt dem Mauszeiger, siehe auch Variable "animation"
function followit(e)
{
		if (otooltip.active && animation) moveit(e);
}
// Tooltip positionieren
function moveit(e)
{
		events.init(e);
		opage.getcanvas();
		x = events.mousex + offsetx + otooltip.w > opage.w ? events.mousex - offsetx - otooltip.w : events.mousex + offsetx;
		y = events.mousey + offsety + otooltip.h > opage.h ? events.mousey - offsety - otooltip.h : events.mousey + offsety;
		otooltip.moveto(x, y);
}
// Tooltip einblenden
function showit(e)
{
		var el = window.event ? event.srcElement : e.currentTarget;
		if (el)
		{
				otooltip.writehtml(el.getAttribute('tip'));
				otooltip.active = true;
				moveit(e);
				if (fade)
				{
						otooltip.showtimer = setTimeout('otooltip.visibility(1); otooltip.fadeto(' + maxopacity + ', ' + fadestep + ', ' + fadespeed + ');', vdelay);
				}
				else
				{
						otooltip.showtimer = setTimeout('otooltip.visibility(1); otooltip.setopacity(' + maxopacity + ')', vdelay);
				}
		}
}
// Tooltip ausblenden
function hideit(e)
{
		otooltip.active = false;
		clearTimeout(otooltip.showtimer);
		clearTimeout(otooltip.fadetimer);
		otooltip.visibility(0);
		otooltip.setopacity(0);
}
// init-Funktion
function init()
{
		otooltip = new dhtmlobject('tooltip');
		otooltip.setopacity(0);
		otooltip.active = false;
		otooltip.showtimer = 0;
		var el = bw.ie5 ? d.all : d.getElementsByTagName ? d.getElementsByTagName('*') : null;
		for (var i = 0; i < el.length; i++)
		{
				if (el[i].getAttribute('tip'))
				{
						addevent(el[i], 'mouseover', showit);
						addevent(el[i], 'mouseout', hideit);
				}
		}
		addevent(document, 'mousemove', followit);
}
// Script in Seite laden
onload = init;
//-->
</script>
</head>
<body>
<a href="a.html" onfocus="if(this.blur)this.blur()"><img tip="TIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXT" class="menulinks" src="jpg/auto2.jpg" alt=""></a>	 
 
<div id="tooltip">tooltip layer</div>   
</body>
</html>

CSS Code:
HTML:
#tooltip
{
position: absolute;
z-index: 1000;
width:200px;
visibility: hidden;
left: 0px;
top: 0px;
background: #F0FBF0;
border: 1px solid #007F00;
font-family: arial,verdana,sans-serif;
font-size: 11px;
color: #000000;
padding: 2px;
}

Tja, was mach ich nun damit der Validator nichts gegen mein "tip Tag" im "img Tag" hat?

Gruß
feh
 
Es führt kein Weg daran vorbei, das tip-Tag zu entfernen, wenn Du validen Code schreiben willst.
Du kannst doch zur Probe statt tip einfach mal title schreiben. Das gleiche auch oben bei getAttribute. Mal schauen, was dabei raus kommt.
Dann kannst Du Dir überlegen, ob es überhaupt nötig ist, den title temporär zu löschen.

EDIT:
Da Dein Script bei mir überhaupt nichts tut, habe ich einfach mal versucht, in Deinem Code meine Idee zu verdeutlichen.
In den Funktionen showit und hideit kannst du ja mal vergleichen, was sich geändert hat. vielleicht gibt es ja wenigstens Fehlermeldungen, die was vernünftiges aussagen. Bei mir scheint irgendwas anderes nicht zu funktionieren (wo ist tooltip.js).
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Tolltip</title>
<link rel="STYLESHEET" href="styles.css" type="text/css">
<script language="JavaScript" type="text/javascript" src="tooltip.js"></script>

<script language="JavaScript" type="text/javascript">
<!--
// Variablen zum Konfigurieren des Tooltips:
var offsetx = 15; // horizontaler Abstand zum Mauszeiger
var offsety = -22; // vertikaler Abstand zum Mauszeiger
var maxopacity = 90; // maximaler opacity-Wert für Tooltip
var fade = 1; // zum Deaktivieren des Fade-Effekts wähle 0
var fadestep = 76; // Zunahme des Faders, je höher desto schneller
var fadespeed = 2; // Geschwindigkeit des Faders, je höher desto langsamer
var animation = 1; // 0 = deaktivieren; 1 = Tooltip folgt Mauszeiger
var vdelay = 280; // Vorlaufzeit, bis der Tooltip gezeigt wird (in millisekunden)
// diese Variable nicht editieren!
var x, y = 0; // linke und obere Position
// Diesen Script-Code nicht editieren!
// Tooltip folgt dem Mauszeiger, siehe auch Variable "animation"
function followit(e) {
    if (otooltip.active && animation) moveit(e);
}
// Tooltip positionieren
function moveit(e) {
    events.init(e);
    opage.getcanvas();
    x = events.mousex + offsetx + otooltip.w > opage.w ? events.mousex - offsetx - otooltip.w : events.mousex + offsetx;
    y = events.mousey + offsety + otooltip.h > opage.h ? events.mousey - offsety - otooltip.h : events.mousey + offsety;
    otooltip.moveto(x, y);
}
// Tooltip einblenden
var temp;
function showit(e) {
    var el = window.event ? event.srcElement : e.currentTarget;
    if (el) {
        otooltip.writehtml(el.title));
        temp=el.title;
        el.title='';
        otooltip.active = true;
        moveit(e);
        if (fade) {
            otooltip.showtimer = setTimeout('otooltip.visibility(1); otooltip.fadeto(' + maxopacity + ', ' + fadestep + ', ' + fadespeed + ');', vdelay);
        } else {
            otooltip.showtimer = setTimeout('otooltip.visibility(1); otooltip.setopacity(' + maxopacity + ')', vdelay);
        }
    }
}
// Tooltip ausblenden
function hideit(e) {
    if (el) {
        el.title=temp;
        temp='';
    }
    otooltip.active = false;
    clearTimeout(otooltip.showtimer);
    clearTimeout(otooltip.fadetimer);
    otooltip.visibility(0);
    otooltip.setopacity(0);
}
// init-Funktion
function init() {
    otooltip = new dhtmlobject('tooltip');
    otooltip.setopacity(0);
    otooltip.active = false;
    otooltip.showtimer = 0;
    var el = bw.ie5 ? d.all : d.getElementsByTagName ? d.getElementsByTagName('*') : null;
    for (var i = 0; i < el.length; i++) {
        if (el[i].getAttribute('tip')) {
            addevent(el[i], 'mouseover', showit);
            addevent(el[i], 'mouseout', hideit);
        }
    }
    addevent(document, 'mousemove', followit);
}
// Script in Seite laden
onload = init;
//-->
</script>
</head>
<body>
<a href="a.html" onfocus="if(this.blur)this.blur()"><img title="TIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXTTIP TEXT" class="menulinks" src="extlink.gif" alt=""></a>
<div id="tooltip">tooltip layer</div>
</body>
</html>
Vielleicht hilft das ja als Anregung.

Gruß hpvw
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück