Query strenge til adressefeltet uden reload
Jeg håber det er den rigtige katagori jeg får postet det her i.Det drejer sig om siden http://www.teknision.com/siteVersions/tek2/
Siden består af et frameset med en stor frame med selve flashsiden og en lille frame med en lille flashfil der gør det muligt at bruge frem/tilbage knapperne i browseren.
Det jeg gerne vil finde ud af er hvordan de sender forskellige query strenge til browseren adressefelt UDEN at skulle reloade den store frame (den lille frame reloader).
Det sker når man trykker på en knap i flash'en, så loader den f.eks. siden http://www.teknision.com/siteVersions/tek2/backEngine.html?file=Careers
Jeg har kigget lidt på deres kode, men jeg kan ikke gennemskue det.
frameset:
----------------------------------------------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<frameset rows="*,1" framespacing="0" frameborder="no" border="0">
<frame noresize src="index2.cfm?" name="main" id="main" />
<frame noresize src="backEngine.html" name="back" frameborder="no" scrolling="no" marginwidth="0" marginheight="0" id="back" />
</frameset>
<noframes><body>
</body></noframes>
</html>
----------------------------------------------------------
index2.cfm:
----------------------------------------------------------
<html>
<HEAD>
<script language="JavaScript" type="text/JavaScript">
<!--
//BOOKMARKING//////////////////////////////////////////
//DETECTS IE6 AND ALLOWS FLASH BOOKMARK SYSTEM
function allowBookmarks(){
var isIE6=navigator.appVersion.indexOf("MSIE 6.0");
if(isIE6==-1){
var bookmark=false;
}else{
var bookmark=true;
}
return(bookmark);
}
//SETS HASH FOR BOOKMARKING
function setMainUrl(val){
top.location.hash=val;
}
//RETURNS HASH FROM URL
function getHash(){
var hs=top.location.hash;
if(hs!=""){
var val=hs.split("#")[1];
var str='&hash='+val;
}else{
var str="";
}
return(str);
}
/////////////////////////////////////////////////////
//INIT CONTENT//////////////////////////////////////////
//GENERATES QUERY STRING FOR FLASH OBJECT
function writeQuery(){
var hs=getHash();
var str='activateBack=true&bookmarks='+allowBookmarks()+hs;
return(str);
}
//WRITES BODY CONTENT
function writeBody(){
var query=writeQuery();
var str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100%" height="1500" id="main-interface" align=""><param name=movie value="main-interface.swf?'+query+'"><param name=quality value=high><param name=flashVars value="'+query+'"><param name=bgcolor value=#FFFFFF><embed src="main-interface.swf?'+query+'" quality=high bgcolor=#FFFFFF width="100%" height="1500" name="main-interface" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashVars="'+query+'"></embed> </object>'
return(str);
}
/////////////////////////////////////////////////////
//FLASH-BROWSER INTEGRATION//////////////////////////
function writeStatus(msg){
top.status=msg;
}
function writeDefaultStatus(msg){
top.defaultStatus=msg;
}
function openWindow(theURL,winName,features) {
window.open(theURL,winName,features);
}
/////////////////////////////////////////////////////
//-->
</script>
</HEAD>
<BODY bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<a name="top"></a>
<script>
document.write(writeBody());
</script>
</BODY>
</HTML>
----------------------------------------------------------
BackEngine.html:
----------------------------------------------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<!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">
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function checkFrames(){
if(location.href==top.location.href){
var filename=queryString("file");
top.location.href="http://www.teknision.com/?section="+filename;
}
}
function PageQuery(q) {
if(q.length > 1) this.q = q.substring(1, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
}
}
this.getKeyValuePairs = function() {
return this.keyValuePairs;
}
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return false;
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() {
return this.keyValuePairs.length; }
}
function queryString(key){
var page = new PageQuery(window.location.search);
return unescape(page.getValue(key));
}
function displayItem(){
var filename=queryString("file");
if(filename!="false"){
var strdoc="";
strdoc+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="18">';
strdoc+='<param name="movie" value="backbutton.swf?file='+filename+'">';
strdoc+='<param name=quality value=high />';
strdoc+='<param name=flashVars value="file='+filename+'" />';
strdoc+='<embed src="backbutton.swf?file='+filename+'"quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="18" flashVars="file='+filename+'"></embed></object>';
document.write(strdoc);
}
}
//-->
</script>
</head>
<body onload="checkFrames()">
<script language="JavaScript">
<!--
displayItem();
//-->
</script>
</body>
</html>
----------------------------------------------------------
