Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-08-2011, 20:04   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
Hilfe beim Einstieg mit der shadowbox

Hallo zusammen!

Ich beschäftige mich schon den ganzen Tag mit der "shadowbox" die ich mittels eines Flashbuttons öffnen, und in ihr eine html-Seite darstellen möchte. Aber irgendwie ist der Wurm drin. Habe mir viele Beiträge zu dem Thema hier im Forum angesehen, aber entweder fehlten die Lösungsvorschläge oder ich konnte diese nicht nachvollziehen.

Laut der "shadoxbox.js FAQ" muß folgendes im Kopf der HTML-Seite stehen:
HTML-Code:
<script type="text/javascript">
function openshadowbox(content, player, title){
    shadowbox.open({
        content:    content,
        player:     player,
        title:      title
    });
}
</script>
Und dieses Script auf die Schaltfläche:
Code:
on (press) {
	getURL("javascript:openshadowbox('http:www.amazon.de', 'html', 'amazon.de');");
}
Im selben Ordner wo die HTML-Datei mit der Flash-Schaltfläche liegt, befinden sich auch die Dateien: shadowbox.css, shadowbox.js und die .png`s wie "close" usw..

Tja, und wenn ich auf meinen tollen Button klicke passiert rein gar nichts.
Vielleicht kann mir jemand helfen?
Spher77 ist offline   Mit Zitat antworten
Alt 29-08-2011, 07:01   #2 (permalink)
Neuer User
 
Benutzerbild von feivelmaus
 
Registriert seit: Jun 2007
Ort: Berlin
Beiträge: 1.078
Hey,

schau dir mal bitte das .zip genau an, was ich dir geschickt hatte.

Auf dem Button muss folgendes Script liegen

Code:
import flash.external.ExternalInterface;
btn.onRelease = function() {
	    ExternalInterface.call("openShadowbox",'http://google.de','iframe','I Like it <3');

};
oder wenn du es via Javascript aufrufen willst, dann so.

Code:
btn.onRelease = function() {
	getURL("javascript:openshadowbox('http://www.google.com/','iframe','Title');", "_self");
};
In der .html muss das Script so lauten

Code:
var openShadowbox = function(content, player, title){
    Shadowbox.open({
        content:    content,
        player:     player,
        title:      title,
		width: 600,
		height: 100
    });
};
Und die ganzen .js-Dateien einzubinden darfst du natürlich auch nicht vergessen.
__________________
Grüße, der Feivel

Showcase
feivelmaus ist offline   Mit Zitat antworten
Alt 29-08-2011, 11:34   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
So läuft es jetzt- aber leider nicht mit dem IE8

Hi Feivel und vielen Danke für deine Hilfe!
In der Zwischenzeit habe ich es so zum laufen gebracht:
Das liegt auf der Schaltfläche:
PHP-Code:
kontakt2_btn.onRelease = function() {
    
getURL("javascript:popUpFunction( 'http://www.amazon.de');");

und das steht im Quelltext:
HTML-Code:
<!-- SHADBOX SECTION -->
<link rel="stylesheet" type="text/css" href="shadowbox/shadowbox.css"/>
<script type="text/javascript" src="shadowbox/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init({
    players:    ["html","iframe"]
});
function popUpFunction(url)
	{
	Shadowbox.open({player: "iframe", content: url, height: 480, width: 480});
	};
</script>
Alle Browser außer der Internet Explorer 8 spielen mit.
Der Explorer meckert wegen eines ungültigen Arguments in der Datei shadowbox.js:
y.style.height=u+"px"

Habe das Problem im Netz bei anderen entdeckt aber keinen Lösungsweg.
Du weißt nicht zufällig wie ich das Problem lösen kann???
Viele Grüße
Sebastian
Spher77 ist offline   Mit Zitat antworten
Alt 29-08-2011, 12:03   #4 (permalink)
Neuer User
 
Benutzerbild von feivelmaus
 
Registriert seit: Jun 2007
Ort: Berlin
Beiträge: 1.078
Ich kann mich dunkel erinnern, dass ich irgendwo einen Bug Fix gefunden hatte.

Optional kannst du natürlich eine Abfrage einbauen, welcher Browser benutzt wird und dann dementsprechend sagen 'Sorry, du nutzt einen veralteten Browser...'

Im IE 9 läuft es auf jeden Fall, habe ich gerade getestet.
__________________
Grüße, der Feivel

Showcase
feivelmaus ist offline   Mit Zitat antworten
Alt 29-08-2011, 12:34   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
Viele schlagen folgendes vor:

Statt
HTML-Code:
<!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">
soll das eingefügt werden:
HTML-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
Lustigerweise ist meine swf dann winzig klein, so das man fast ne Lupe braucht um den Button für die shadowbox zu finden aber dann funktioniert es im IE8.

Wie bekomme ich denn nu meine swf wieder auf die normale Größe?*lol

Gruß Sebastian
Spher77 ist offline   Mit Zitat antworten
Alt 31-08-2011, 08:58   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
Muß mich geschlagen geben...

Abgesehen von den Problemen mit dem Internet Explorer 8, kann ich mein neues Problem mit der Transparenz der shadowbox auch nicht lösen. Und zwar habe ich mit dem Befehl "overlayOpacity" herumexperimentiert und weitere Ratschläge aus Suchmaschinen Ergebnissen getestet- aber statt Transparenz wird der schwarze Hintergrund nur heller und geht Richtung "grau". Kennt vielleicht jemand eine einfache Alternative zur Shadowbox? Ich will doch nur aus nem Flashfilm eine Box mit einer externen HTML Seite öffnen und der Hintergrund soll transparent sein.... Und alle Browser sollen natürlich mitspielen....
Spher77 ist offline   Mit Zitat antworten
Alt 31-08-2011, 09:14   #7 (permalink)
Neuer User
 
Benutzerbild von feivelmaus
 
Registriert seit: Jun 2007
Ort: Berlin
Beiträge: 1.078
Es gibt gefühlte 1000 'lightboxen'. Jede Box hat Vor- & Nachteile und nicht jede Box ist Flashkompatibel.
Die Fancybox kann man auch auch Flash starten (glaube ich). Da musst du wohl oder übel ein bisschen Recherche rein stecken.

Alternative kannst du auch die html-Seite in Flash reinladen ohne jede Box oder du nimmst löscht den Background von der Shadowbox raus und dann hast du auch einen transparenten Background...da gibt es viele Möglichkeiten.
__________________
Grüße, der Feivel

Showcase
feivelmaus ist offline   Mit Zitat antworten
Alt 07-09-2011, 10:35   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
Problem gelöst- aber mit einem Kompomiss

Ich habe mich nun für die "colorbox" entschieden. Und zwar sieht so mein Quelltext aus:
HTML-Code:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Opening a ColorBox from Flash</title>
<link media="screen" rel="stylesheet" href="colorbox.css" />
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="colorbox/jquery.colorbox.js"></script>

</head>

<body>
<center>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1024" height="747">
  <param name="movie" value="Startseite.swf">
  <param name="quality" value="high">
  <param name="wmode" value="transparent">
  <param name="swfversion" value="6.0.65.0">

  <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="Startseite.swf" width="1024" height="747">
    <!--<![endif]-->
    <param name="quality" value="high">
    <param name="wmode" value="transparent">
    <param name="swfversion" value="6.0.65.0">
    <param name="expressinstall" value="Scripts/expressInstall.swf">
    <param name="allowscriptaccess" value="always">
    <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
    <div>
      <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
<script>

	function launchColorBox(url){
		$.colorbox({href:url,width:"80%", height:"80%",iframe:true});
	}
	
</script></center>
</body>
</html>
Die Ordnerstruktur ist so: colorbox, images, Scripts, colorbox.css, Startseite.html und die Startseite.swf.

Auf dem Flashbutton in der "Startseite.swf liegt folgendes Script:
PHP-Code:
import flash.external.ExternalInterface;
kontakt2_btn.onRelease = function() {
ExternalInterface.call("launchColorBox","http://www.google.de/",false);

Nun zum Kompromiss den ich wegen des Internet Explorers 8 schließen musste. Meine SWF ist im Original 1744px x 1272px groß. Bislang habe ich die Größenangabe in "100%" angegeben damit die SWF sich automatisch für jede Auflösung skaliert. Der IE in Verbindung mit der colorbox (oder auch mit der shadowbox) protestiert aber bei Prozentangaben und zeigt die SWF winzigklein an. Die colorbox funktioniert zwar aber es hilft mir nicht wenn man eine Lupe benötigt um die Buttons in der SFW zu finden. Also bin ich hergegangen und habe eine feste Größe von 1024px x 747px angegeben und die SWF mit dem "<center>" Tag umgeben. Nun ist meine SWF groß genug im IE und die colorbox funktioniert. Tja, nur die Scrollbalken sind mir nun ein Dorn im Auge...
Vielleicht hat ja doch noch jemand ne Idee???
Gruß
Sebastian
Spher77 ist offline   Mit Zitat antworten
Alt 07-09-2011, 10:46   #9 (permalink)
Neuer User
 
Benutzerbild von feivelmaus
 
Registriert seit: Jun 2007
Ort: Berlin
Beiträge: 1.078
Hast du mal versucht die .swf mit swfObject oder mit ufo einzubinden?
__________________
Grüße, der Feivel

Showcase
feivelmaus ist offline   Mit Zitat antworten
Alt 07-09-2011, 15:18   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
Habe ich das denn nicht ???

Hi Feivel und Danke das du wieder versuchts mir zu helfen!

Ich dachte ich hätte mit:
HTML-Code:
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
das mit swfObjekt eingebunden?
Bin ich auf dem falschen Dampfer? Wahrscheinlich bin ich nicht versiert genug in Flash.

Grüße
Sebastian
Spher77 ist offline   Mit Zitat antworten
Alt 12-09-2011, 10:10   #11 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 31
Größenproblem gelöst, neues Problem mit XML

Dadurch das ich die "Doctype"-Angabe weglasse kann ich jetzt Prozentangaben für die swf angeben und siehe da, es läuft jetzt sogar auf dem IE.
Nun habe ich ein neues Problem. Die Colorbox soll sich aus der swf Datei öffnen und die verschiedenen Buttons (21 Stück) sollen die URL`s der Html Seiten aus einer XML Datei beziehen. Meine XML Ansteuerung lief vorher ohne Colorbox und öffnete ein externes Bowserfenster. Hier das Script der Schaltfläche Nr. 16

PHP-Code:
weblinkXML = new XML();
weblinkXML.ignoreWhite true;
weblinkXML.load("url.xml");
weblinkXML.onLoad = function (success)
{
    var 
url weblinkXML.firstChild.childNodes[16].attributes.href;
    
kontakt2_btn.onRelease = function() {
        
getURL(url"_blank");
    };

meine XML Datei sieht so aus:
Code:
<?xml version="1.0" encoding="utf-8"?>
<navigation>
    <item id="ueberuns" href="http://www.hierdieAdresse.de"/>
    <item id="aktuelles" href="http://www.hierdieAdresse.de""/>
    <item id="kontakt1" href="http://www.hierdieAdresse.de"/>
usw........
</navigation>
Nun habe ich aber die neue Ansteuerung der shadowbox auf meinen Schaltflächen:
PHP-Code:
import flash.external.ExternalInterface;
kontakt2_btn.onRelease = function() {
ExternalInterface.call("launchColorBox","http://www.hierdieAdresse.de/",false);

Das ist meine HTML Seite:
HTML-Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Opening a ColorBox from Flash</title>
<link media="screen" rel="stylesheet" href="colorbox.css" />
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="colorbox/jquery.colorbox.js"></script>

</head>

<body>
<center>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
  <param name="movie" value="Startseite.swf">
  <param name="quality" value="high">
  <param name="wmode" value="transparent">
  <param name="swfversion" value="6.0.65.0">

  <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="Startseite.swf" width="100%" height="100%">
    <!--<![endif]-->
    <param name="quality" value="high">
    <param name="wmode" value="transparent">
    <param name="swfversion" value="6.0.65.0">
    <param name="expressinstall" value="Scripts/expressInstall.swf">
    <param name="allowscriptaccess" value="always">
    <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
    <div>
      <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
<script>

	function launchColorBox(url){
		$.colorbox({href:url,width:"80%", height:"80%",iframe:true});
	}
	
</script></center>
</body>
</html>
Kann mir bitte ein ActionscriptXMLHTML-Freak bitte helfen und sagen wie die Programmierung ausssehen muß, damit ich die colorbox-Inhalte aus der XML-Datei beziehen kann??
Ich habe es selber versucht und die beiden Scripte verbunden
PHP-Code:
import flash.external.ExternalInterface;

weblinkXML = new XML();
weblinkXML.ignoreWhite true;
weblinkXML.load("url.xml");
weblinkXML.onLoad = function (success)
{
    var 
url weblinkXML.firstChild.childNodes[16].attributes.href;
    
kontakt2_btn.onRelease = function() {
        
ExternalInterface.call("launchColorBox",false);
    };

Die colorbox öffnet sich sogar, bleibt aber ohne Inhalt-sprich, sie bleibt weiß.
Gruß,
Sebastian
Spher77 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS4] wieder mal... SHADOWBOX annabellsche Flash Einsteiger 14 16-12-2010 17:33
Shadowbox Probleme zheddo Flash CS3 Professional 21 08-04-2010 10:51
AS 2 Shadowbox Gallery zheddo Flash CS3 Professional 6 16-02-2010 13:52
Einstieg in Flash. Suche Buch, Brauche Hilfe! Bughunter1989 Flash MX 2004 5 01-08-2005 10:13
Hilfe beim Code anpassen...(beim verlassen einer fläche bewegung abbremsen) FlasherTyp Flash MX 5 17-05-2004 08:51


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

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele