No sé qué estarás haciendo para que suceda eso. Evaluar es hacer lo que hace la función eval (tomar un string y considerarlo como una expresión).
Veamos un ejemplo (podés testearlo aquí:
http://www.disegnocentell.com.ar/ejemplo_/ejemplo.php y descargarlo aquí:
http://www.disegnocentell.com.ar/ejemplo_/ejemplo.zip).
Este es código utilizado:
Código PHP:
<?php
if(isset($_POST['p'])){
switch($_POST['p']){
case 'uno':
echo '
<script type="text/javascript">
var so = new SWFObject("ejemplo.swf", "ejemplo", "550", "400", "8", "#CCCCCC");
so.addParam("quality", "high");
so.addVariable("data","pagina 1");
so.write("flashcontent");
</script>
';
break;
case 'dos':
echo '
<script type="text/javascript">
var so = new SWFObject("ejemplo.swf", "ejemplo", "550", "400", "8", "#CCCCCC");
so.addParam("quality", "high");
so.addVariable("data","pagina 2");
so.write("flashcontent");
</script>
';
break;
default:
echo '
<script type="text/javascript">
var so = new SWFObject("ejemplo.swf", "ejemplo", "550", "400", "8", "#CCCCCC");
so.addParam("quality", "high");
so.addVariable("data","inicio");
so.write("flashcontent");
</script>
';
}
exit;
}
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ejemplo</title>
<script src="swfobject.js"></script>
<script>
String.prototype.tratarResponseText=function(){
var pat=/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig;
var pat2=/\bsrc=[^>\s]+\b/g;
var elementos = this.match(pat) || [];
for(i=0;i<elementos.length;i++) {
var nuevoScript = document.createElement('script');
nuevoScript.type = 'text/javascript';
var tienesrc=elementos[i].match(pat2) || [];
if(tienesrc.length){
nuevoScript.src=tienesrc[0].split("'").join('').split('"').join('').split('src=').join('').split(' ').join('');
}else{
var elemento = elementos[i].replace(pat,'$1','');
nuevoScript.text = elemento;
}
document.getElementsByTagName('body')[0].appendChild(nuevoScript);
}
return this.replace(pat,'');
}
function http(){
if(typeof window.XMLHttpRequest!='undefined'){
return new XMLHttpRequest();
}else{
try{
return new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
alert('Su navegador no soporta AJAX');
return false;
}
}
}
function request(url,callback,params){
var H=new http();
if(!H)return;
H.open('post',url+'?'+Math.random(),true);
H.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
H.onreadystatechange=function(){
if(H.readyState==4){
if(callback)
callback(H.responseText);
H.onreadystatechange=function(){}
H.abort();
H=null;
}
}
var p='';
for(var i in params){
p+='&'+i+'='+escape(params[i]);
}
H.send(p);
}
function evaluar(r){
r.tratarResponseText();
}
</script>
</head>
<body>
<div id="flashcontent">
</div>
<script type="text/javascript">
var so = new SWFObject("ejemplo.swf", "ejemplo", "550", "400", "8", "#CCCCCC");
so.addParam("quality", "high");
so.addVariable("data","inicio");
so.write("flashcontent");
</script>
<a href="#" onclick="request('',evaluar,{'p':'uno'})">pagina 1</a> | <a href="#" onclick="request('',evaluar,{'p':'dos'})">pagina 2</a> |<a href="#" onclick="request('',evaluar,{'p':'cualquiercosa'})"> inicio
</a>
</body>
</html>