Script aus einem Frame heraus starten

LA1984

Mitglied
Hey Leute,

ich habe da mal ein kleines Problem mit einem Script, dass ich aus einem Frame heraus öffnen bzw starten will. Meine Kenntnisse über Javascript sind zwar nicht die besten, allerdings reichen sie aus um so ein paar kleine Sachen zu erstellen. Den rest er google ich mir. Allerdings komme ich hier nicht weiter, also....

Im Normal fall hat man doch ein script:
Java:
function dasScriptbeispiel(){

alert("Ich bin nur ein kleines Beispiel");

}

Dieses Script lässt sich öffnen durch:
Java:
<a href="javascript:dasScriptbeispiel()" > link </a>


Wenn man diesen Link, allerdings in einem Frame drin hat sollte es ja so aussehen, damit es klappt:
Java:
<a href="javascript:top.dasScriptbeispiel()" > link </a>

###

Soweit funktioniert die Theorie auch bei mir, bei herkömmlichen kleinen selbst gebastelten Scripten.
Nun da ich aber wie gesagt nur über ein begrenztes Wissen an Javascript - Programmierung besitze und ich für ein kleines, feines und privates Projekt aber mir ein ganz bestimmtes Script aus dem Internet gegooglet habe komme ich mit meiner begrenzten Theorie nicht mehr weiter.

Das Script selbst sieh so aus:
Java:
isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;

function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");  
  hotDog=isIE ? event.srcElement : e.target;  
  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
  }  
  if (hotDog.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichDog.style.left);
    nowY=parseInt(whichDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e){
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function hideMe(){
  if (isIE||isNN) whichDog.style.visibility="hidden";
  else if (isN4) document.theLayer.visibility="hide";
}

function showMe(){
  if (isIE||isNN) whichDog.style.visibility="visible";
  else if (isN4) document.theLayer.visibility="show";
}

document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");

(Zu diesem Script gehört noch etwas html sourcecode, dass später als Layer - Design eiinfach nur durch das Script in den Fordergrund aktiviert wird, allerdings habe ich das einfach mal weg gelassen)

.. und dieses Script ruft man im eigentlichen Fall auch so auf:
Java:
<a href="javascript:showMe();">show</a>

... funktioniert auch an sich bestens....

DOCH JETZT KOMMTs: Aus einem Frame heraus lässt es sich nicht öffnen. Obwohl ich schon den Link mit einem top.showMe() versehen habe und es ja eigentlich wie im funktionierendem beispiel weiter oben hätte eigentlich funktionieren müssen..... wüsste von euch jemand eine Idee ???

Wäre mir ganz angenehm wenn jemand eine echt korrekte Idee hätte und auch ziemlich sicher ist dass diese auch funktioniert.


danke euch....

Lg
LA1984
 
Zuletzt bearbeitet:
Hmm.....
Das Java nicht gleich Javasript ist, ist mir ja klar....
ich hab jetzt nur nicht drauf geachtet das hier nicht bei jaascript weiter geholfen werden kann.

Nagut, dann probiere ich es mal in anderen Foren.

Schönen Tag euch 😉

Lg
La1984
 
Nabend,

also..... sollte eher mal ein Versuch sein ein chat zu werden. An sich funktioniert auch alles. Eine Mischung zwischen Ajax und datenbank. Ich hab es schon mit scrollbaren DIVs probiert, aber da haben dann wieder um andere funktionieren niht mehr funktioniert. Deswegen ist das nun eine Frameseite geworden 🙂 Ist ja auch nur etwas spielerei was ich nebenher so dadran bastel.

Aber nun würde ich halt gerne dieses Script was ich schonmal angesprochen haben, nutzen. ..hmmm...
Dieses Fenster an sich... ist auch eher ein Iframe....

Lg
LA1984
 

Neue Themen


Zurück
Oben