NAVIGATIE

Freetime overzicht
Zoeken


  RUBRIEKEN

FAQ / Help
Wat mag niet?
WZL Wedstrijden
WZL Chat
WZL Toolbar
WZL Statistieken
WZL leden
WZL shop
E-cards

RSS

Fun-feed
Babe-feed
Stud-feed

Een groot aantal pokerrooms geven de mogelijkheid om poker te spelen op internet en geld te storten via het veilige iDeal betaalsysteem.
Overzicht » Computer » Programmeren » Opera javascript probleem
Onderaan pagina
SUCKER 3.187
wzl-lid
Sinds 16/5/2005
T: 8 R: 85
27/12/2007 - 12:04u | Quote
Dag allemaal!

Zoals ik een tijdje geleden al postte ben ik bezig met de site van ons jeugdhuis, maar de url forward provider is nogal ambetant en zorgt ervoor dat mijn site in een frame wordt weergegeven. Ik heb al javascript code gemaakt zodat ik uit deze frame kan breken in Internet Explorer en Firefox, alleen werkt het niet bij opera.

Ik probeer uit dit frame te raken want door dat frame gedoe:
-blijft de url altijd op http://www.jk2470.com staan, en kan je dus geen bookmarks maken
-blijft de titel altijd op http://www.jk2470.com, terwijl ik op alle pagina's andere titels heb
-komt het favicon er niet door

Even een vb, dit is de html code die je krijgt als ge naar http://www.jk2470.com gaat:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd">
<HTML>
<HEAD>
<TITLE></TITLE>
<META NAME="KEYWORDS" CONTENT="">
<META NAME="DESCRIPTION" CONTENT="">
</HEAD>
<FRAMESET rows="0,*" border=0 frameborder=0 framespacing=0 framecolor="#000000">
<FRAME name="fempty012">
<FRAME name="fmain012" scrolling="yes" src="http://muts.sin.khk.be/jk2470/">
<NOFRAMES><BODY><CENTER></CENTER></BODY></NOFRAMES>
</FRAMESET>
</HTML>


De code die ik gebruik om hieruit te breken is dit:


<script language="JavaScript" type="text/javascript">
<!--

//eerst het hostbasket frame escapen
if (navigator.userAgent.indexOf('Opera') > 0) {
//code voor opera
if (parent.frames.length)
window.open('http://muts.sin.khk.be/jk2470/');
} else {
//deze code werkt voor Firefox en Internet Explorer
if (parent.frames.length)
top.location.href= 'http://muts.sin.khk.be/jk2470/';
}
-->
</script>


Bij mijn lessen javascript heb ik gemerkt dat bij 1 foutje, soms de rest van de code niet meer uitgevoerd wordt. Als je bv via opera naar http://www.jk2470.com gaat, zal je alleen maar die gif animatie zien. Normaal gezien checkt wat extra javascript of er flash aanwezig is, en zo niet krijgt ge nen schonen warning. Maar die code wordt dus nie uitgevoerd in opera dus ik gok op een fout.

Helemaal bizar is het als je rechtstreeks naar http://muts.sin.khk.be/jk2470/ gaat, dan lukt die code blijkbaar wel en krijg je toch de flash animatie (ofwel de warning).

Misérie misérie!
SUCKER 3.187
wzl-lid
Sinds 16/5/2005
T:8 - R:85
28/12/2007 - 11:57u | Quote
Om alles wat te testen heb ik voor mezelf een testpage gemaakt, en deze werkt wel goed in FF, IE & opera.
http://muts.sin.khk.be/jk2470/devel/hostbasket-frame-escapen/hostbasketframe.html
http://muts.sin.khk.be/jk2470/devel/hostbasket-frame-escapen/escapeframe.html

Zéér bizar.

Ik zal ook efkes de code laten zien die erna nog komt, om dus te checken op flash en zo:


<script language="JavaScript" type="text/javascript">
<!--

// major version 7 needed
var hasReqestedVersion = DetectFlashVer(7, 0, 0);

// Check to see if the version meets the requirements for playback
if (hasReqestedVersion) {
// if we've detected an acceptable version
// embed the Flash Content SWF when all tests are passed

var code ='<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="350" height="170">' +
'<param name="movie" value="./flash/jklogo-intro.swf" />' +
'<param name="quality" value="high" />' +
'<embed src="./flash/jklogo-intro.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="350" height="170"></embed>' +
'</object>';
document.write(code);

} else { // flash is too old or we can't detect the plugin
var alternateContent = '<h2>Welkom op de site van JK2470!</h2>'+
'Om het mooie logo te zien heeft u flash 7+ nodig.<br /> '
+ '<a href="http://www.adobe.com/go/getflash/" target="_blank">Download flash hier!</a>';
document.write(alternateContent); // insert non-flash content
}

//het hostbasket frame escapen
if (parent.frames.length) {
top.location.href= 'http://muts.sin.khk.be/jk2470/';
}


Merk op da'k de code nu vanachter heb gezet om uit de frame te geraken, dus nu werkt de code om te checken op flash en zo wel altijd.

Vreemden troep
SUCKER 3.187
wzl-lid
Sinds 16/5/2005
T:8 - R:85
2/1/2008 - 11:56u | Quote
Alé tis opgelost. Maar nie veel mensen waren hierover aant denken precies, gezien de vele reacties.

http://my.opera.com/community/forums/topic.dml?id=218514
lordfragger
[mod], gewoon [mod]
Sinds 28/6/2004
T:15 - R:3135
2/1/2008 - 13:07u | Quote
Javascript is ni direct men specialiteit, verre van zelfs
 
Bovenaan pagina