Fehler mit Textfeldern oder Gästebuch [Flash 11]
| Beiträge: 25 Registriert: Dec 2010
| 30.05.2016, 03:26
Hallo!
Ich habe meine Flashhomepage in as3 geschrieben, deshlab poste ich hier:
Meine Frage ist diese:
Was mache ich falsch?
Ich habe auf meiner Homepage auch ein Gästebuch!
Aber das funktioniert nur wenn ich das Textfeld entferne das ich in meiner Homepage bei
Updates gehabt habe!
BZW genauer gesagt sobald ich eine UI Scrollbar in mein Update Textfeld eingefügt habe
ging mein Gästebuch kaputt! Und die Einträge werden nciht mehr korreckt dargestellt!
Kurioserweise :
Wenn ich die scrollbar in dem Textfeld meiner Updates wieder entferne ist mein Gästebuch immer noch kaputt!
Was mache ich falsch? Und wie bekomme ich mein Gästebuch wieder repariert?
Die Adresse der Seite ist : http://www.rene-sona.de/dj-luigi/
Mit freundlichen Grüssen
Cokebaby
PS: Ich weiss nicht welche Flashversion das ist ich benutze Flash Creative Suite 5.5 | Geändert von cokebaby am 30.05.16 um 03:30 Uhr | |
| | Beiträge: 4 Registriert: May 2016
| 30.05.2016, 04:43
also was das Gästebuch angeht. Da wird man dir, ohne einblick ins script, nicht wirklich weiter helfen können.
...aber nachdem ich mir deine Seiten angeschaut habe, gebe ich dir ma nen Tip...
vergiss Flash als Grundlage für deine Seiten... das bringt nichts... wenn du wirklich professionell anfangen willst Webseiten zu entwerfen, setz dich mit html5 auseinander... flash bzw ac3 ist einfach nicht wirklich barrierefrei... schon mal versucht deine seiten auf nen Smartphone oder Tablet zu öffnen?
...mit html5 kannst du das gleiche machen wie mit AS3 nur halt besser und vor allem barrierefrei weil es von jeden medium unterstützt wird. wie gesagt... is nur nen tip... | Geändert von kuhly am 30.05.16 um 05:07 Uhr | |
| | Beiträge: 25 Registriert: Dec 2010
Themenautor/in
| 30.05.2016, 12:22
Hallo!
also erst mal wollte ich sagen, das in der index.swf bzw fla wo der button für das gästebuch ist kommt im Feld output diese Meldung:
SecurityError: Error #2000: Kein aktiver Sicherheitskontext.
TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
at fl.containers::ScrollPane/drawBackground()
at fl.containers::ScrollPane/draw()
at fl.core::UIComponent/callLaterDispatcher()
Und dann wollte ich noch dazu sagen das das Gästebuch einwandfrei funktioniert. Das siehst du hier: http://www.rene-sona.de/dj-luigi/guestbook.swf
Der Fehler muss in der index.fla liegen. Denn bis gestern funktionierte das GB dort noch wenn ich es aufgerufen habe. dann habe ich rechts unten wo Updates steht ein Textfeld mit IU-scrollbar einfgefügt und Peng war das GB kaputt. Aber durch entfernen der IU Scrollbar hat sich das GB leider nicht wieder erholt und ist kaputt geblieben!
Also hier noch deine gewünschten as-texte:
Der as teil meiner index.swf lautet:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | import flash.display.Loader ;
import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.net.navigateToURL;
bildergallerie.addEventListener(MouseEvent.CLICK, buttonClickHandler1);
filmgallerie.addEventListener(MouseEvent.CLICK, buttonClickHandler2);
kontakt.addEventListener(MouseEvent.CLICK, buttonClickHandler3);
impresum.addEventListener(MouseEvent.CLICK, buttonClickHandler4);
//pfeillinks.addEventListener(MouseEvent.CLICK, buttonClickHandler5);
//pfeilrechts.addEventListener(MouseEvent.CLICK, buttonClickHandler6);
player.addEventListener(MouseEvent.CLICK, buttonClickHandler7);
termine.addEventListener(MouseEvent.CLICK, buttonClickHandler8);
gaestebuch.addEventListener(MouseEvent.CLICK, buttonClickHandler9);
dj_luigi_de_vu.addEventListener(MouseEvent.CLICK, buttonClickHandler10);
rene_sona_de_dj_luigi.addEventListener(MouseEvent.CLICK, buttonClickHandler11);
lautsprecher.addEventListener(MouseEvent.CLICK, buttonClickHandler12);
bildrotator.addEventListener(MouseEvent.CLICK, buttonClickHandler13);
var request:URLRequest = new URLRequest("veranstaltungshinweis.swf"); // lade-swf-rotator.swf
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
loader.x=40; // use your X position here
loader.y=75; // use your Y position here
//loader.width = 0;
// wie man die position einfügt steht auf https://forums.creativecow.net/thread/190/868207
function buttonClickHandler1(event:MouseEvent):void {
loader.unload()
loader.load(new URLRequest("bildergalerie-luigi.swf"));
}
function buttonClickHandler2(event:MouseEvent):void {
loader.unload()
loader.load(new URLRequest("filmgalerie.swf"));
}
function buttonClickHandler3(event:MouseEvent):void {
loader.unload()
loader.load(new URLRequest("lade-swf-kontakt.swf"));
}
function buttonClickHandler4(event:MouseEvent):void {
loader.unload()
loader.load(new URLRequest("impresum.swf"));
}
function buttonClickHandler5(event:MouseEvent):void {
loader.unload()
loader.load(new URLRequest(""));
}
function buttonClickHandler6(event:MouseEvent):void {
loader.unload()
loader.load(new URLRequest(""));
}
function buttonClickHandler7(event:MouseEvent):void {
SoundMixer.stopAll();
loader.unload();
loader.load(new URLRequest("player-swf.swf"));
}
function buttonClickHandler8(event:MouseEvent):void {
loader.unload();
loader.load(new URLRequest("termine.swf"));
}
function buttonClickHandler9(event:MouseEvent):void {
loader.unload();
loader.load(new URLRequest("lade-swf-gaestebuch2.swf"));//guestbook.swf //lade-swf-gaestebuch.swf
}
function buttonClickHandler10(event:MouseEvent):void {
var pageURL:URLRequest = new URLRequest("http://dj-luigi.de.vu");
navigateToURL(pageURL, "_blank");
}
function buttonClickHandler11(event:MouseEvent):void {
var pageURL:URLRequest = new URLRequest("http://rene-sona.de/dj-luigi");
navigateToURL(pageURL, "_blank");
}
function buttonClickHandler12(event:MouseEvent):void {
SoundMixer.stopAll();
}
function buttonClickHandler13(event:MouseEvent):void {
loader.unload();
loader.load(new URLRequest("lade-swf-rotator.swf"));
}
// wie man die position einfügt steht auf https://forums.creativecow.net/thread/190/868207
stop()
|
und der as teil des gästebuch das ich aus dem Internet habe lautet:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | //import-Anweisungen, nicht aendern.
import fl.controls.ScrollPolicy;
import fl.containers.ScrollPane;
import fl.transitions.TransitionManager;
import fl.transitions.Transition;
import fl.transitions.Fade;
import fl.transitions.easing.None;
import flash.events.Event;
import GBItem;
//URL zur gaestebuch.xml
var url:String="guestbook.xml";
//URL "Boese Worte"-txtDatei
var txtUrl:String="badwords.txt";
//FadeAnimation-Dauer (in Sekunden)
var fadeTime:Number=0.5;
//TransiationAnimation-Dauer (in Sekunden), wenn neues Item erstellt
var transTime:Number=1;
//Name oben für Eintraege
var itemString:String="Anzahl der Einträge:";
//Name oben für Neuer Eintrag verfassen
var newItemString:String="Neuen Eintrag schreiben";
//Hoehe der Scrollflaeche
var scrollHeight:Number=330;
// Breite der Scrollflaeche,
var scrollWidth:Number=550;
// x und y position der Scrollflaeche, standardmaessig oben links
var scrollX:Number=0;
var scrollY:Number=30;
//Nicht aenderbare Eigenschaften und Funktionen
var gbScrollPane_mc:ScrollPane=new ScrollPane();
var title_mc:TitleItem=new TitleItem();
var bottom_mc:BottomItem=new BottomItem();
var gbXml:XML;
var newGbXml:XML;
var lastGbItem:XML;
var newItem_mc:NewItem;
var counter:int=0;
var wordsArray:Array=new Array();
init();
//init-Methode, erstellt das Aussehen
function init():void{
//Obere Anzeige
title_mc.item_txt.mouseEnabled=false;
title_mc.item_txt.selectable=false;
title_mc.item_txt.text=itemString+" "+counter;
title_mc.y=0;
this.addChild(title_mc);
TransitionManager.start(title_mc, {type:Fade, direction:Transition.IN, duration:fadeTime, easing:None.easeOut});
//Scrollflaeche
gbScrollPane_mc.x=scrollX;
gbScrollPane_mc.y=scrollY;
gbScrollPane_mc.setSize(scrollWidth,scrollHeight);
gbScrollPane_mc.horizontalScrollPolicy=ScrollPolicy.OFF;
this.addChild(gbScrollPane_mc);
//Untere Anzeige
bottom_mc.item_btn.buttonMode =true;
bottom_mc.item_btn.item_txt.mouseEnabled=false;
bottom_mc.item_btn.item_txt.selectable=false;
bottom_mc.item_btn.item_txt.text=newItemString;
bottom_mc.item_btn.item_txt.autoSize="left";
bottom_mc.item_btn.item_txt.width=bottom_mc.item_btn.item_txt.textWidth+5;
bottom_mc.item_btn.addEventListener(MouseEvent.CLICK, createNewItemHandler);
bottom_mc.y=scrollHeight+gbScrollPane_mc.y-1;
this.addChild(bottom_mc);
TransitionManager.start(bottom_mc, {type:Fade, direction:Transition.IN, duration:fadeTime, easing:None.easeOut});
//laden der XML-Datei
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE, xmlLoadedHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.load(new URLRequest(url));
//laden der "Boese-Worte"-txtDatei
var txtLoader:URLLoader=new URLLoader();
txtLoader.addEventListener(Event.COMPLETE, txtLoadedHandler);
txtLoader.addEventListener(IOErrorEvent.IO_ERROR, errorTxtHandler);
txtLoader.load(new URLRequest(txtUrl));
}
//Aufruf, wenn XML geladen ist
function txtLoadedHandler(e:Event):void{
var words:String=e.target.data;
words=words.replace(" ","");
wordsArray=words.split(",");
}
//Aufruf, wenn XML geladen ist
function xmlLoadedHandler(e:Event):void{
addGuestBookItems(new XML(e.target.data));
}
//Positioniert die GB-Eintraege
function addGuestBookItems(xml:XML):void{
var pY=0;
var frame_mc:MovieClip=new MovieClip();
var ar:Array=new Array();
counter=0;
for each(var item in xml.item){
counter++;
ar.unshift(item);
}
var count:int=counter;
for (var i:int=ar.length-1;i>=0;i--){
var xml:XML=ar[i];
xml.nr=count;
count--;
var gbItem_mc:GBItem=new GBItem(xml);
gbItem_mc.y=pY;
frame_mc.addChild(gbItem_mc);
pY+=gbItem_mc.height+5;
}
title_mc.item_txt.text=itemString+" "+counter;
if (counter>0){
gbScrollPane_mc.source=frame_mc;
}
else{
var noItem_mc:NoItems=new NoItems();
gbScrollPane_mc.source=noItem_mc;
}
}
// Wenn neuer Eintrag erstellt werden soll.
function createNewItemHandler(e:MouseEvent){
if (newItem_mc){
this.removeChild(newItem_mc);
}
newItem_mc=new NewItem(counter+1, wordsArray);
newItem_mc.addEventListener(Event.COMPLETE, createNewItemIsCompleteHandler);
this.addChild(newItem_mc);
}
//Wird aufgerufen, wenn der Eintrag geschrieben ist, oder der Nutzer zurueckkehren moechte
function createNewItemIsCompleteHandler(e:Event):void{
if (newItem_mc.canSaveTheItem()){
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE, xmlSaveLoadedHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.load(new URLRequest(url));
counter++;
}
}
//Aufruf, wenn XML geladen ist, nachdem ein neuer Eintrag geschrieben wurde.
function xmlSaveLoadedHandler(e:Event):void{
var xml:String= newItem_mc.getGBItem();
var allXML:String=new XML(e.target.data).toString();
allXML=allXML.substring(allXML.indexOf("<guestbook>")+11);
allXML=allXML.substring(0,allXML.indexOf("</guestbook>"));
allXML=xml+allXML;
newGbXml=new XML("<guestbook>"+allXML+"</guestbook>");
lastGbItem=new XML(xml);
var request:URLRequest = new URLRequest("guestbook.php");
var variables:URLVariables = new URLVariables();
newGbXml.normalize();
variables.guestbook = newGbXml.toString();
variables.gburl=url;
request.data = variables;
request.method = URLRequestMethod.POST;
var saveLoader:URLLoader = new URLLoader();
saveLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
saveLoader.addEventListener(Event.COMPLETE, savingWasCompleteHandler);
saveLoader.addEventListener(IOErrorEvent.IO_ERROR, savingWasNotCompleteHandler);
saveLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, savingWasNotCompleteHandler);
saveLoader.load(request);
}
//Aufgerufen, wenn PHP-Script zum XML speichern erfolgreich aufgerufen wurde
function savingWasCompleteHandler(e:Event):void{
//XML-Daten konnten gespeichert werden
if(String(e.target.data.saved)=="true"){
newItem_mc.savedItem(true);
gbXml=newGbXml;
addGuestBookItems(gbXml);
gbScrollPane_mc.verticalScrollPosition=0;
}
//XML-Daten konnten nicht gespeichert werden
else{
newItem_mc.savedItem(false);
}
}
//Aufgerufen, wenn PHP-Script zum XML speichern nicht erfolgreich aufgerufen wurde
function savingWasNotCompleteHandler(e:Event):void{
newItem_mc.savedItem(false);
}
//Wenn ein Fehler beim Laden der XML auftritt
function errorHandler(e:Event):void{
var noItem_mc:NoItems=new NoItems();
gbScrollPane_mc.source=noItem_mc;
}
//Wenn ein Fehler beim Laden der "Boese-Worte"-TxtDatei auftritt
function errorTxtHandler(e:Event):void{
//Macht nichts, boese Worte sind dann erlaubt
}
|
Und dann gibt es beim Gästebuch noch einen improtierten as-Teil also eine extra as-Datei mit nur as text. Darin steht:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | package{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.FocusEvent;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.text.TextField;
import flash.utils.Timer;
import fl.transitions.TransitionManager;
import fl.transitions.Transition;
import fl.transitions.Fly;
import fl.transitions.easing.None;
public dynamic class NewItem extends MovieClip{
protected var itemNameString:String="Dein Name";
protected var itemMailString:String="Deine E-mail-Adresse, freiwillig";
protected var itemWebsiteString:String="Deine Internetseite";
protected var itemMsgString:String="Deine Message";
protected var itemSaveString:String="Senden";
protected var itemDeleteString:String="Löschen";
protected var itemBackString:String="Zurück";
protected var leftX:Number=20;//Position des linken Btn: "Senden"
protected var inBetween:Number=20;//Zwischenraum zwischen den Btn
protected var errorString:String="Fehler";
protected var errorMailString:String="Mailadresse ist nicht korrekt";
protected var errorNameString:String="Name nicht ausgefüllt";
protected var errorMsgString:String="Nachricht nicht eingegeben";
protected var itemMsgTitleToSave:String="Bitte warten";
protected var itemMsgToSave:String="Nachricht wird gespeichert...";
protected var itemMsgIsSaved:String="Nachricht wurde gespeichert";
protected var itemMsgWasNotSaved:String="Nachricht konnte nicht gespeichert werden";
//Nicht zu aendernde Eigenwschaften
protected var canSaveSomething:Boolean=false;
protected var itemNr:int;
protected var date:Date;
protected var wordsArray:Array;
protected var saveMsg_mc:NewItemMsgWindow;
public var name_mc:MovieClip;
public var mail_mc:MovieClip;
public var website_mc:MovieClip;
public var msg_mc:MovieClip;
public var btnLine_mc:MovieClip;
//Konstruktor
public function NewItem(nr:int, words:Array){
this.addEventListener(Event.ADDED, addedHandler);
this.wordsArray=words;
this.itemNr=nr;
this.deleteEnteredTxtHandler(null);
name_mc.item_txt.addEventListener(FocusEvent.FOCUS_IN, clearTxtHandler);
name_mc.item_txt.tabIndex=1;
mail_mc.item_txt.addEventListener(FocusEvent.FOCUS_IN, clearTxtHandler);
mail_mc.item_txt.tabIndex=2;
website_mc.item_txt.addEventListener(FocusEvent.FOCUS_IN, clearTxtHandler);
website_mc.item_txt.tabIndex=3;
msg_mc.item_txt.addEventListener(FocusEvent.FOCUS_IN, clearTxtHandler);
msg_mc.item_txt.tabIndex=4;
name_mc.item_txt.addEventListener(FocusEvent.FOCUS_OUT, resumeTxtHandler);
mail_mc.item_txt.addEventListener(FocusEvent.FOCUS_OUT, resumeTxtHandler);
website_mc.item_txt.addEventListener(FocusEvent.FOCUS_OUT, resumeTxtHandler);
msg_mc.item_txt.addEventListener(FocusEvent.FOCUS_OUT, resumeTxtHandler);
var pX:Number=leftX;
pX=createBottomBtn(btnLine_mc.save_btn, itemSaveString, pX, saveHandler);
btnLine_mc.save_btn.tabEnabled=false;
pX=createBottomBtn(btnLine_mc.delete_btn, itemDeleteString, pX, deleteEnteredTxtHandler);
btnLine_mc.delete_btn.tabEnabled=false;
pX=createBottomBtn(btnLine_mc.back_btn, itemBackString, pX, backHandler);
btnLine_mc.back_btn.tabEnabled=false;
}
//Wird aufgerufen, wenn der MC auf die Buehne gelangt
protected function addedHandler (e:Event):void{
this.removeEventListener(Event.ADDED, addedHandler);
this.gotoAndPlay("intro");
TransitionManager.start(this, {type:Fly, direction:Transition.IN, duration:1, easing:None.easeOut, startPoint:6});
}
//Ob es ein neues Item gibt, oder der Nutzer den Eintrag abgebrochen hat.
public function canSaveTheItem():Boolean{
return canSaveSomething;
}
//Speichern des Eintrags war vollstaendig
public function savedItem(savingComplete:Boolean):void{
saveMsg_mc.close_btn.visible=true;
var timer:Timer= new Timer(2000);
if(savingComplete){
saveMsg_mc.item_txt.text=itemMsgIsSaved;
timer.addEventListener(TimerEvent.TIMER, dismissMsgWindowAndMcAfterATime);
timer.start();
}
else{
saveMsg_mc.item_txt.text=itemMsgWasNotSaved;
timer.addEventListener(TimerEvent.TIMER, dismissMsgWindowAfterATime);
timer.start();
}
}
//Gibt den gerade erstellte n GB-Eintrag als String im XML-Format zurueck
public function getGBItem():String{
if (!canSaveSomething){
return new XML("");
}
var day:String=String(date.date);
if (date.date<10){
day="0"+day;
}
var month:String=String(date.month);
if (date.month<10){
month="0"+month;
}
var dateString= day+"."+month+"."+date.fullYear;
var hours:String=String(date.hours);
if (date.hours<10){
hours="0"+hours;
}
var minutes:String=String(date.minutes);
if (date.minutes<10){
minutes="0"+minutes;
}
var timeString= hours+":"+minutes;
var xmlString:String="<item>";
xmlString+="<nr>"+itemNr+"</nr>";
xmlString+="<date>"+dateString+"</date>";
xmlString+="<time>"+timeString+"</time>";
xmlString+="<name>"+name_mc.item_txt.text+"</name>";
xmlString+="<msg>"+msg_mc.item_txt.text+"</msg>";
if (mail_mc.item_txt.text!="" && mail_mc.item_txt.text!=itemMailString){
xmlString+="<mail>"+mail_mc.item_txt.text+"</mail>";
}
if (website_mc.item_txt.text!="" && website_mc.item_txt.text!=itemWebsiteString){
xmlString+="<website>"+website_mc.item_txt.text+"</website>";
}
xmlString+="</item>";
return xmlString;
}
//Erstellt und positioniert die Schaltflaechen unten
protected function createBottomBtn(mc:MovieClip, named:String, pX:Number, f:Function):Number{
mc.item_txt.text=named;
mc.item_txt.autoSize="left";
mc.x=pX;
mc.buttonMode =true;
mc.item_txt.mouseEnabled=false;
mc.item_txt.selectable=false;
mc.addEventListener(MouseEvent.CLICK, f);
return pX+mc.item_txt.width+inBetween;
}
//Loesche den Textinhalt, wenn Textfeld den Fokus erhaelt
protected function clearTxtHandler(e:FocusEvent):void{
checkTxtName((e.target as TextField), name_mc,itemNameString);
checkTxtName((e.target as TextField), mail_mc,itemMailString);
checkTxtName((e.target as TextField), website_mc,itemWebsiteString);
checkTxtName((e.target as TextField), msg_mc,itemMsgString);
}
protected function checkTxtName(mc1:TextField, mc2:MovieClip, s:String){
if (mc1.parent==mc2){
if (mc1.text==s){
mc1.text="";
}
}
}
//zeige den Text an, wenn Textfeld leer ist
protected function resumeTxtHandler(e:FocusEvent):void{
if (e.target.text!=""){
return;
}
switch(e.target.parent.name){
case "name_mc": e.target.text=itemNameString; break;
case "mail_mc": e.target.text=itemMailString; break;
case "website_mc": e.target.text=itemWebsiteString; break;
case "msg_mc": e.target.text=itemMsgString; break;
}
}
//Handler, wenn Btn "Senden" geklickt wurde
protected function saveHandler(e:MouseEvent):void{
if (name_mc.item_txt.text==""||name_mc.item_txt.text==itemNameString){
showError(1);
return;
}
if (msg_mc.item_txt.text==""||msg_mc.item_txt.text==itemMsgString){
showError(20);
return;
}
if (mail_mc.item_txt.text!=""&& mail_mc.item_txt.text!=itemMailString){
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(mail_mc.item_txt.text);
if(result == null) {
showError(10);
return;
}
}
if (website_mc.item_txt.text!="" && website_mc.item_txt.text!=itemWebsiteString){
if (website_mc.item_txt.text.search("http://")){
website_mc.item_txt.text="http://"+website_mc.item_txt.text;
}
}
name_mc.item_txt.text=checkAgainstBadWords(name_mc.item_txt.text);
mail_mc.item_txt.text=checkAgainstBadWords(mail_mc.item_txt.text);
website_mc.item_txt.text=checkAgainstBadWords(website_mc.item_txt.text);
msg_mc.item_txt.text=checkAgainstBadWords(msg_mc.item_txt.text);
canSaveSomething=true;
date= new Date();
saveMsg_mc=new NewItemMsgWindow();
addMsgMc(saveMsg_mc,itemMsgToSave, itemMsgTitleToSave, closeMsgWindowAndRemoveHandler,false);
this.dispatchEvent(new Event(Event.COMPLETE));
//backHandler(null);
}
protected function checkAgainstBadWords(s:String):String{
for(var i:int=0;i<wordsArray.length;i++){
var myPattern:RegExp = new RegExp(wordsArray[i],"gi");
s=s.replace(myPattern, "***");
}
s=s.replace(">", ">");
s=s.replace("<", "<");
return s;
}
//Handler, wenn Btn "Loeschen" geklickt wurde
protected function deleteEnteredTxtHandler(e:MouseEvent):void{
name_mc.item_txt.text=itemNameString;
mail_mc.item_txt.text=itemMailString;
website_mc.item_txt.text=itemWebsiteString;
msg_mc.item_txt.text=itemMsgString;
if (e!=null){
this.stage.focus=null;
}
}
//Handler, wenn Btn "Zurueck" geklickt wurde
protected function backHandler(e:MouseEvent):void{
this.dispatchEvent(new Event(Event.COMPLETE));
TransitionManager.start(this, {type:Fly, direction:Transition.OUT, duration:1, easing:None.easeOut, startPoint:6});
this.gotoAndPlay("outro");
}
/* Handler, wenn Fehler beim Schreiben eines GB-Eintrages
1 Fehler Name
10 Fehler Mail
20 Fehler Msg
*/
protected function showError(code:uint):void{
var errorDescriptionString:String="Fehler";
switch(code){
case 1:errorDescriptionString=errorNameString;break;
case 10:errorDescriptionString=errorMailString;break;
case 20:errorDescriptionString=errorMsgString;break;
}
addMsgMc(new NewItemMsgWindow(),errorDescriptionString, errorString,closeMsgWindowHandler);
}
//ERstellt MsgMC
protected function addMsgMc(mc:MovieClip, msgString:String, titleString:String, f:Function,showing:Boolean=true):void{
mc.item_txt.mouseEnabled=false;
mc.item_txt.text=msgString;
mc.top_txt.mouseEnabled=false;
mc.top_txt.text=titleString;
mc.x=(this.width-mc.width)/2;
mc.y=(this.height-mc.height)/2;
mc.close_btn.visible=showing;
mc.close_btn.buttonMode=true;
mc.close_btn.addEventListener(MouseEvent.CLICK, f);
this.addChild(mc);
}
//Entfernt den MsgWindow von der Buehne, wenn gespeichert
protected function closeMsgWindowHandler(e:MouseEvent):void{
this.removeChild((e.target.parent as MovieClip));
}
//Entfernt den MsgWindow von der Buehne
protected function closeMsgWindowAndRemoveHandler(e:MouseEvent):void{
TransitionManager.start(this, {type:Fly, direction:Transition.OUT, duration:1, easing:None.easeOut, startPoint:6});
this.removeChild((e.target.parent as MovieClip));
}
//Nach 2 Sekuden aufgerufen, entfernt das MsgWindow
protected function dismissMsgWindowAfterATime(e:TimerEvent):void{
e.target.stop();
e.target.removeEventListener(TimerEvent.TIMER, dismissMsgWindowAfterATime);
if (this.contains(saveMsg_mc)){
this.removeChild(saveMsg_mc);
}
}
//Nach 2 Sekuden aufgerufen, entfernt das MsgWindow und den ItemMC
protected function dismissMsgWindowAndMcAfterATime(e:TimerEvent):void{
e.target.stop();
e.target.removeEventListener(TimerEvent.TIMER, dismissMsgWindowAndMcAfterATime);
if (this.contains(saveMsg_mc)){
this.removeChild(saveMsg_mc);
TransitionManager.start(this, {type:Fly, direction:Transition.OUT, duration:1, easing:None.easeOut, startPoint:6});
}
}
}
}
|
Gruss Cokebaby | Geändert von cokebaby am 30.05.16 um 12:26 Uhr | |
| | Beiträge: 4 Registriert: May 2016
| 30.05.2016, 22:20
also es ist wirklich wirklich schwer bei deinem flickwerk an script und swf schnipseln durchzublicken... ich hab es trotzdem versucht... also das gästebuch an sich ist in ordnung daran kann es nicht liegen... soweit ich es beurteilen kann liegt es auch nicht an deiner index datei.... meine vermutung ist das deine lade-swf-gästebuch.fla bzw swf den fehler verursacht...
ActionScript:1 2 3 4 5 6 7 8 9 10 | addChild(holder);
function loadComplete(event:Event):void {
holder.addChild(loader);
holder.width = 550;
//holder.height = 5000;
holder.scaleY = holder.scaleX;
holder.x=0; // bestimmt die x position! Zahl kleiner = hoch, Zahl grösser ist runter
holder.y=0; // bestimmt die y position
holder.z=0; // bestimmt die position in einem Stapel
}
|
mir ist zum beispiel nicht ganz bewusst warum du die höhe des childs auskommentiert hast... versuchs mal damit...
geht es denn, wenn du die guestbook.swf direckt anspriechst ohne den umweg über deine lade-swf-gästebuch.swf zu machen? | Geändert von kuhly am 30.05.16 um 23:19 Uhr | |
| | Beiträge: 25 Registriert: Dec 2010
Themenautor/in
| 06.06.2016, 13:46
Hallo kuhly !
Ehrlich gesagt weiss ich bis jetzt noch nicht woran es liegt das es nicht ging!
Denn das das Gästebuch jetzt wieder geht und sichtbar ist und benutzbar,
also man das GB lesen und Einträge machen kann liegt nur daran, das ich meine
index-datai NEU gemacht habe!
Und siehe da , jetzt geht das GB wieder! Also hat es an irgend etwas in der index datai gelegen!
ACH ja:
es muss irgend etwas mit dem "FScrollbar"-Symbol , also dieser leiste zu tun haben,
die ich in meiner index-datei für mein updates - feld benutze!
Denn sobald ich die FScrollbar in meinem Updatefeld weg mache funktioniert mein Gästebuch
wieder nachdem ich die index-datei neu geschrieben habe!
Habe ich die index-datai neu geschrieben und füge in dem Update-Feld wieder diese
FScrollbar ein , ist das Gästebuch wieder zerstört und wird nicht mehr richtig dargestellt!
Und um dies zu beheben reicht es nicht die "FScrollbar" vom Updatefeld zu entfernen, sondern
ich mich die ganze index-fla neu machen!
Warum das so ist weiß ich bis jetzt noch nicht!
Noch was:
Du schreibst in etwa so (Gedächtnis): "der code ist ein zimliches Flickwerk!"
Ja da kannst du recht haben! das liegt daran, das ich damals und heute as2 bzw jetzt as3 nie gelernt habe!
Alles was ich mit meiner Homepage mache habe ich aus Flashforen wie diesem oder dem Flashfrorum . de das sie jetzt abgeschaltet haben!
Vielen Dank für deine Antwort!
Gruss Cokebaby | |
| Ähnliche Beiträge zum Thema | 15.04.2021 - hansi24 13.09.2022 - Rennier 13.09.2021 - Willisquirion |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|