nicoley hat geschrieben:
@i-do-youdo bevor ich anfange das zu testen - schreib bitte wann es funktioniert - das einbauen sollte dann nicht mehr das Problem sein.
Öhm, ich weiß jetzt nicht so richtig, was ich darauf antworten soll
Es würde jetzt schon funktionieren, und zwar mit dem oben genannten Quellcode. Und im Screenshot (der ohne Bilder) sieht man, wie es funktionieren würde. Man streicht mit der Maus über einen Link, und anhand der Links wird a) erkannt, ob es ein magiccards.info Link ist und b) die URL auf das Bild umgebogen, welches dann rechts unter dem Link angezeigt wird. Wenn man dann mit der Maus weg vom Link fährt, dann verschwindet das Bild wieder.
Ich habe noch eine Verbesserung, weil man auch Sammelqueries auf magiccards.info als Link einbetten kann, hat die Funktion natürlich Probleme zu entscheiden, welches Bild angzeigt werden soll, deswegen muss die Länge des URL Feldes abgefragt werden:
Statt
Code:
// Zeigt die Vorschau der Karte an, wenn der Link auf magiccards.info zeigt und auf dem Link mit der Maus gezeigt wird
function preview(surl, shost, ilinks, ioben)
{
var odivpreview;
var oframe;
var sImageUrl;
var IMAGEWIDTH = 225;
var IMAGEHEIGHT = 300;
var saSplit;
if( shost == 'magiccards.info' )
{
odivpreview = document.getElementById('divpreview');
saSplit = surl.split("/");
sImageUrl = saSplit[0] + '//' + shost + '/scans/' + saSplit[4] + '/' + saSplit[3] + '/';
sImageUrl+= saSplit[5].replace('.html', '.jpg');
//debug: Später vielleicht Rules text//odivpreview.innerHTML = "<iframe src='"+surl+"' id='framepreview' width=180 height=240 frameborder=1 scrolling=no><br><small>Quelle: magiccards.info</small>";
odivpreview.innerHTML = "<img src='"+sImageUrl+"' id='framepreviewimg' width="+IMAGEWIDTH+"' height="+IMAGEHEIGHT+" /><br /><small> Quelle: magiccards.info</small>";
odivpreview.style.position = 'absolute';
odivpreview.style.left = ilinks + 'px';
odivpreview.style.top = ioben + 'px';
odivpreview.style.visibility = 'visible';
odivpreview.border = 1;
}
}
sollte da besser stehen:
Code:
// Zeigt die Vorschau der Karte an, wenn der Link auf magiccards.info zeigt und auf dem Link mit der Maus gezeigt wird
function preview(surl, shost, ilinks, ioben)
{
var odivpreview;
var oframe;
var sImageUrl;
var IMAGEWIDTH = 225;
var IMAGEHEIGHT = 300;
var saSplit;
if( shost == 'magiccards.info' )
{
odivpreview = document.getElementById('divpreview');
saSplit = surl.split("/");
if (saSplit.length > 5)
{
sImageUrl = saSplit[0] + '//' + shost + '/scans/' + saSplit[4] + '/' + saSplit[3] + '/';
sImageUrl+= saSplit[5].replace('.html', '.jpg');
//debug: Später vielleicht Rules text//odivpreview.innerHTML = "<iframe src='"+surl+"' id='framepreview' width=180 height=240 frameborder=1 scrolling=no><br><small>Quelle: magiccards.info</small>";
odivpreview.innerHTML = "<img src='"+sImageUrl+"' id='framepreviewimg' width="+IMAGEWIDTH+"' height="+IMAGEHEIGHT+" /><br /><small> Quelle: magiccards.info</small>";
odivpreview.style.position = 'absolute';
odivpreview.style.left = ilinks + 'px';
odivpreview.style.top = ioben + 'px';
odivpreview.style.visibility = 'visible';
odivpreview.border = 1;
}
}
}
Ich würde den gesamten Text jedoch wie erwähnt auslagern, das heißt alles in eine Textdatei (zum Beispiel mit Notepad) Namens preview.js speichern und auf
Scripts/preview.js ablegen. Ist nur ein Beispiel.
Auf den einzelnen Forenseiten, auf denen die Funktion aktiv sein soll, muss lediglich im HEAD Bereich der Seite
Code:
<script type="text/javascript" src="http://www.magic-the-gathering-forum.de/Scripts/preview.js"></script>
hinzugefügt werden
Die zweite und letzte Aktion muss es sein, auf der betreffenden Seite im BODY Bereich
Code:
<div id="divpreview" style="visibility:hidden">Kartenvorschau auf magiccards.info</div>
hinzuzufügen.
Bei Problemen kannst du mir auch gerne eine persönliche Nachricht schicken.