url-target?

mazzproduce

Grünschnabel
News Ticker url-target?

Guten Tag,
Ich hab folgendes Problem, leider weiss ich auch nicht ob's an der Flashdatei/Actionscript liegt. Ich habe einen Flash Live Ticker im Header, der seine links aus einer xml-datei bezieht.
Das Problem erscheint euch vielleicht als sehr leicht zu lösen, dennoch weiss ich leider nicht, wie ich die "Url-Targets" festlegen kann.

Hier ist der folgende Xml code:
XML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<images>
    <item>
        <news>MP3.com hosting a Darc Mind listening Party</news>
        <url>http://www.mp3.com/hip-hop/genre/15/summary.html</url>
    </item>
    <item>
        <news>FXPression 05 Contest</news>
        <url>http://www.kirupa.com/forum/forumdisplay.php?f=124</url>
    </item>
    <item>
        <news>Check out our Footer Contest #2</news>
        <url>http://www.kirupa.com/forum/forumdisplay.php?f=126</url>
    </item>
    <item>
        <news>Gallery Feature Implemented in kForum</news>
        <url>http://www.kirupa.com/forum/showthread.php?t=183953</url>
    </item>
    <item>
        <news>Chat in our IRC Chat Room!</news>
        <url>http://www.kirupa.com/me/irc.htm</url>
    </item>
    <item>
        <news>Smilies Demand Equal Wages</news>
        <url>http://www.kirupa.com/forum/misc.php?do=showsmilies</url>
    </item>
    <item>
        <news>Fans Line up for Miles to Enter the Arcade.</news>
        <url>http://www.kirupa.com/forum/arcade.php?</url>
    </item>
    <item>
        <news>The Sinking Post is Back</news>
        <url>http://www.kirupa.com/forum/showthread.php?t=24291</url>
    </item>
</images>

Hier ist der link zu meiner Seite (ganz oben ist der Liveticker):

http://www.mindbenda.com/[-=Mindbenda-Recordings-06=-]/index2.html

Hier das Actionscript:

Code:
function loadXML(loaded) {
	if (loaded) {
		xmlNode = this.firstChild;
		caption = [];
		url = [];
		target=[]
		total = xmlNode.childNodes.length;
		for (i=0; i<total; i++) {
			caption[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
			url[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
		}
		first_item();
	} else {
		content = "file not loaded!";
	}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("news.xml?blarg="+new Date().getTime());
//
function first_item() {
	delay = 1000;
	p = 0;
	display(p);
	p++;
}
function timer() {
	myInterval = setInterval(ticker, delay);
	function ticker() {
		clearInterval(myInterval);
		if (p == total) {
			p = 0;
		}
		fadeout();
	}
}
function display(pos) {
	over = new TextFormat();
	over.underline = true;
	//
	out = new TextFormat();
	out.underline = false;
	//
	newsMC.newsText._alpha = 100;
	newsMC.newsText.text = caption[pos];
	newsMC.onRelease = function() {
		getURL(url[pos], "_self");
	};
	newsMC.onRollOver = function() {
		this.newsText.setTextFormat(over);
	};
	newsMC.onRollOut = function() {
		this.newsText.setTextFormat(out);
	};
	timer();
}
function fadeout() {
	this.onEnterFrame = function() {
		if (newsMC.newsText._alpha>=0) {
			newsMC.newsText._alpha -= 5;
		} else {
			display(p);
			p++;
			delete this.onEnterFrame;
		}
	};
}

Ich bin leider kein coder und verstehe nicht viel von der Materie, hoffe daher dass es zur Problemlösung weiterhlefen kann und wäre wirklich sehr dankbar, wenn mir jemand eine Lösung nennen könnte :)

MfG
Ismael Salim
 
Zuletzt bearbeitet von einem Moderator:
Code:
[...]
	newsMC.onRelease = function() {
		getURL(url[pos], "_self");
	};
[...]
Hier kannst du das Target ändern. Z.B. "_blank" statt "_self", wenn es ein einem neuen Browserfenster sein soll, oder "derframename", wenn du einen anderern Frame angesteuern willst.

Gruß
Rena
 
Herzlichen dank schonmal, ich werd's mal probieren.
Nun hab ich leider das Problem, dass ich den jeweiligen links unterschiedliche targets zuordnen möchte, zB. den ersten link mit "_blank", den zweiten vll. mit "center"..

Gibt es dazu eine Lösung? Wärewirklich hervorragend!
Ich danke nochmal!
 
In dem Fall müßtest du die XML-Struktur erweitern ... so ungefähr
Code:
[...]
    <item>
        <news>MP3.com hosting a Darc Mind listening Party</news>
        <url>http://www.mp3.com/hip-hop/genre/15/summary.html</url>
        <ziel>_blank</url>
    </item>
    <item>
        <news>FXPression 05 Contest</news>
        <url>http://www.kirupa.com/forum/forumdisplay.php?f=124</url>
        <ziel>framename</url>
    </item>
[...]

Im Actionscript dann in der Funktion loadXML ... sehe gerade, ein momentan nicht genutzten Array für das Target gibt es schon - war wohl früher mal vorgesehen - woher hast das denn?
Code:
[...]
		target=[]
		total = xmlNode.childNodes.length;
		for (i=0; i<total; i++) {
			caption[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
			url[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
			target[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
		}
[...]
Und beim Link in der Funktion display dann
Code:
[...]
	newsMC.onRelease = function() {
		getURL(url[pos], target[pos]);
	};
[...]

Alles jedoch ungetestet, nur grad so vom drüberschaun. Aber ungefähr in die Richtung könnte man denken.

Gruß
Rena
 
Vielen dank!
Nun, ich hab's mal ausprobiert, _blank target funkioniert, jedoch keine selbst definierten. Es wird jedesmal immer in einem neuen Fenster geöffnet. Das ganze habe ich von hier:
http://www.kirupa.com/developer/mx2004/newsticker.htm

Das Array hatte ich wohl nach längerem sebst herumprobieren erstellt, nur leide rhab ioch null ahnung und wie man sieht hab ich's sogar vergessen zu entfernen. Ich hab aber deine Hilfen in den Code eingefügt und wie gesagt funktioniert der Befehl _blank jetzt, nur selbstdefinierte noch nicht. Hier ist mein aktueller code:

Actionscript:
Code:
function loadXML(loaded) {
	if (loaded) {
		xmlNode = this.firstChild;
		caption = [];
		url = [];
		target = [];
		total = xmlNode.childNodes.length;
		for (i=0; i<total; i++) {
			caption[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
			url[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
		}
		first_item();
	} else {
		content = "file not loaded!";
	}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("news.xml?blarg="+new Date().getTime());
//
function first_item() {
	delay = 1000;
	p = 0;
	display(p);
	p++;
}
function timer() {
	myInterval = setInterval(ticker, delay);
	function ticker() {
		clearInterval(myInterval);
		if (p == total) {
			p = 0;
		}
		fadeout();
	}
}
function display(pos) {
	over = new TextFormat();
	over.underline = true;
	//
	out = new TextFormat();
	out.underline = false;
	//
	newsMC.newsText._alpha = 100;
	newsMC.newsText.text = caption[pos];
	newsMC.onRelease = function() {
		getURL(url[pos],target[pos]);
	};
	newsMC.onRollOver = function() {
		this.newsText.setTextFormat(over);
	};
	newsMC.onRollOut = function() {
		this.newsText.setTextFormat(out);
	};
	timer();
}
function fadeout() {
	this.onEnterFrame = function() {
		if (newsMC.newsText._alpha>=0) {
			newsMC.newsText._alpha -= 5;
		} else {
			display(p);
			p++;
			delete this.onEnterFrame;
		}
	};
}

xml:

XML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<images>
    <item>
        <news>MP3.com hosting a Darc Mind listening Party</news>
        <url>http://www.mp3.com/hip-hop/genre/15/summary.html</url>
		<target>center</target>
    </item>
    <item>
        <news>FXPression 05 Contest</news>
        <url>http://www.kirupa.com/forum/forumdisplay.php?f=124</url>
		<target>center</target>
    </item>
</images>

html seite:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>

<style type="text/css">
<!--
iframe {
overflow-x: hidden;
}
-->
</style>

<style type="text/css">
<!--
body {
	background-image: url(00layout/bg_mb-logo.gif);
	margin-left: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
#Layer1 {
	position:absolute;
	left:13px;
	top:0px;
	width:928;
	height:500;
	z-index:1;
	background-color: #333333;
}
#Layer2 {
	position:absolute;
	left:50px;
	top:13px;
	width:928;
	height:500;
	z-index:1;
	background-color: #FF0000;
}
#Layer3 {
	position:absolute;
	left:148px;
	top:525px;
	width:851px;
	height:12px;
	z-index:1;
}
#Layer4 {
	position:absolute;
	left:29px;
	top:514px;
	width:119px;
	height:95px;
	z-index:2;
}
-->
</style></head>

<body>
<div align="center">
  <table width="928" border="0" cellpadding="0" cellspacing="0">
    <!--DWLayoutTable-->
    <tr>
      <td width="928" height="30" valign="top"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="928" height="30">
        <param name="movie" value="mp3player_top.swf" />
        <param name="quality" value="high" />
        <embed src="mp3player_top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="928" height="30"></embed>
      </object></td>
    </tr>
    <tr>
      <td height="5" valign="top"><img src="00layout/border/border_empty.gif" width="928" height="5" /></td>
    </tr>
    <tr>
      <td height="500" valign="top"><div align="center">
        <iframe id="center" name="center" src="center_home.html" frameborder="0" height="500" width="928" scrolling="no" allowtransparency="1"></iframe>
      </div></td>
    </tr>
    <tr>
      <td height="95" valign="top"><iframe src="menue.html" name="menue" width="928" height="95" scrolling="No" frameborder="0" id="centerframe" allowtransparency="1"></iframe></td>
    </tr>
  </table>
</div>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Hi,

probier mal, die Seite auf dem Server (online oder über Deinen Testserver via localhost) zu testen - die Angabe von Framenamen sollte dann eigentlich funktionieren.

Gruß
.
 
Die Seite beinhaltet zwei frames und zwar "center" und "menue" iframe, siehe weiter oben, dort habe ich die html seite als code dargestellt. Habs dennoch mal ausprobiert, funktioniert leider nicht. :(
 
Zuletzt bearbeitet:
Mit iframes kenn ich mich leider überhaupt nicht aus weil nie damit gearbeitet. Bin eher von normalen Framesets ausgegangen.
Keine Ahnung also, ob es da was anderes zu beachten gilt. Evtl. mal auf selfhtml.net nachschauen und wenn was besonderes, dann auf die Befehle übertragen?

Gruß
Rena
 

Neue Beiträge

Zurück