erkennen, ob eine datei im object liegt...
Aleksej V.
- javascript
Hallo,
Ich versuch beim laden einer Seite nicht im object(iframe) die index.html aufzurufen. Das klapt auch wunderbar beim iframe, da ich aber strict mache, muss ich die datei im object einbinden. Ist schon verständlich, dass ein object kein frames.length kennt, also wollt ich frage, wei ich's trotzdem erfahre, ob die seite im object oder alleine steht.
Hauptdatei:
<html>
<body style="background-color:red;">
<object data="page1.html" type="text/html" style="width:150px; height:150px;"></object>
<br>
<iframe src="page1.html" style="width:150px; height:150px;">
</body>
</html>
object/iframe:
<html>
<head>
<script type="text/javascript">
if(top.frames.length!=1) {
document.write('Nichts')
}
</script>
</head>
<body style="background-color:white;">
<div>page1.html</div>
</body>
</html>
Grüße aus Düsseldorf,
Aleksej
Hallo an alle,
Naaaaa, ich bin am verzweiflen, wenn das nicht geht, gibt es irgendeine möglichkeit von dem object aus auf die drüberliegende seite zuzugriefen, eine variable übergeben, irgenwas mit der URL der hauptseite, es gibt doch so viele möglichkeiten mit js, es muss doch etws gehen!? Ich hab versucht an die datei was anzuhängen: data="atr_lg.html?war=yes", die url im object krigt aber ncihts nach ? mit. Kann man irgendwie von der hauptseite eine variable im object bestimmen? irgend was per document.write einfügen oder sonstwie, hilft mir doch!..
Ich hab grad einen schlimmen fehler entdeckt, wenn ich keine möglichkeit finde, darf ich ziemlich viel neu machen, hilfe!!!
Seid nicht genervt von den vielen '!' ich bin nur voll traurig.
Grüße aus Düsseldorf,
Hallo Aleksej,
Ich hab versucht an die datei was anzuhängen: data="atr_lg.html?war=yes", die url im object krigt aber ncihts nach ? mit.
Hab's jetzt nicht getestet, aber wenn in diesem Fall in der eingebetteten Seite in location.search *nichts* drinnensteht, dann *kannst* Du nicht herausfinden, ob die Seite in einem <object> geladen ist, oder nicht. In location.href steht natürlich nichts mit Fragezeichen drinnen, steht es ja nie.
Grüße,
Christian
Meine rettung. Hi Christian,
Hab's jetzt nicht getestet, aber wenn in diesem Fall in der eingebetteten Seite in location.search *nichts* drinnensteht, dann *kannst* Du nicht herausfinden, ob die Seite in einem <object> geladen ist, oder nicht. In location.href steht natürlich nichts mit Fragezeichen drinnen, steht es ja nie.
Ich versteh nicht ganz, was du meinst. ich hab hier mit location.search die werte abgefragt, hier mein versuch:
http://www.intrapid.de
es ist aber nicht zwingend der url was anzuhängen, es ist die hauptsache, dem object klarzumachen, dass es einen top hat...
Grüße aus Düsseldorf,
Hallo Aleksej,
Wenn Du die Datei "normal" lädst, dann übergibst Du ihr gar keine Parameter. Wenn Du die Datei als <object> lädst, dann rufst Du sie über data="data1.html?obj" auf. Die Datei selbst kann dann prüfen:
if (location.search = '?obj') {
// im <object> geladen
} else {
// direkt geladen
}
Wo ist das Problem?
Grüße,
Christian
Hallo Aleksej,
if (location.search = '?obj') {
*grmpf* Muss ins Bett, viel zu müde. Sollte heißen:
if (location.search == '?obj') {
Grüße,
Christian
Hi,
if (location.search = '?obj') {
*grmpf* Muss ins Bett, viel zu müde. Sollte heißen:
if (location.search == '?obj') {
ja, ohne gibt es eine nette endlosschleife die den browser zum absturz bringt... Ich hab von mir eigentlich erwartet, sowas zu merken... Ich müsste mal auch schlafen - ich bin nicht mehr in der lage zum denken.
aber: bin ich blöd? http://www.intrapid.de es geht einfach nicht.
Grüße aus Düsseldorf,
Hallo Aleksej,
aber: bin ich blöd? http://www.intrapid.de es geht einfach nicht.
Wieso? Bei mir (Mozilla 1.0.0 Debian 3.0 GNU/Linux) klappt das - sowohl im <object> als auch im <iframe> steht "Es klappt". Jetzt sag' bloß nicht, der blöde IE spielt da nicht mit...
Grüße,
Christian
Hi Christian,
Wieso? Bei mir (Mozilla 1.0.0 Debian 3.0 GNU/Linux) klappt das - sowohl im <object> als auch im <iframe> steht "Es klappt". Jetzt sag' bloß nicht, der blöde IE spielt da nicht mit...
Doch. Hab grad in Mozilla,NN,Opera nachgekuckt, es geht. Im IE nicht...
Grüße aus Düsseldorf,
Hallo Aleksej,
Doch. Hab grad in Mozilla,NN,Opera nachgekuckt, es geht. Im IE nicht...
Tja - dann hast Du wohl 3 Alternativen:
a) 2 versch. Dateien
b) auf <object> zu verzichen
c) auf IE zu verzichten ;)
Grüße,
Christian
Hi Christian,
b) auf <object> zu verzichen <<<<<
Das wähle ich das zweite. Dank schön für die hilfe.
Grüße aus Düsseldorf,
Hallo Christian, ich bin doch weitergekommen:
Datei im object:
function loadcontrol() {
var url=window.location.href
var docname = url.slice(1+url.lastIndexOf('/'),url.lastIndexOf('.'))
if (!window.opera&&navigator.appName=='Microsoft Internet Explorer') {
if (document.getElementById('haupt1').offsetLeft>9) window.location.href = 'index.html?'+docname
} else {
if (window.location.search=='') window.location.href = 'index.html?'+docname
}
}
hauptdatei:
function check() {
suche=window.location.search
if (suche!='') {
document.getElementById('object').data=suche.slice(1,suche.length)+'.phtml?obj2'
}
}
<object data="home.phtml?obj" style="width:650px; height:470px; border-width:0px;" type="text/html" id="object"></object>
So, gibt's da welche nebenwirkungen?
Noch ein Problem gibt's aber - die funktion in der hauptdatei funktioniert nicht, ich kann nciht auf die datei im object zugreifen(document.getElementById('object').data). Hast du vielleicht einen Idee?
Grüße aus Düsseldorf,