Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在ajax页面刷新时重新声明变量_Php_Javascript_Ajax_Symfony_Slideshow - Fatal编程技术网

Php 如何在ajax页面刷新时重新声明变量

Php 如何在ajax页面刷新时重新声明变量,php,javascript,ajax,symfony,slideshow,Php,Javascript,Ajax,Symfony,Slideshow,我在我的页面中有几个不同的地方,在那里我呈现这个来设置一个这样的变量 <script> videoContent[{{ ordernumber }}]='video={{ c.data[0] }}&height={{ c.data[1] }}&width={{ c.data[2] }}&codec={{ c.data[3] }}&fullscreen={{ data5 }}'; </script> <script> //def

我在我的页面中有几个不同的地方,在那里我呈现这个来设置一个这样的变量

<script>
videoContent[{{ ordernumber }}]='video={{ c.data[0] }}&height={{ c.data[1] }}&width={{ c.data[2] }}&codec={{ c.data[3] }}&fullscreen={{ data5 }}';
</script>
<script>
//define the function for later use (page updates)
function videoContentUpdate1() {    
    videoContent[1]='video={{ data0 }}&height={{ data1 }}&width={{ data2 }}&codec={{ data3 }}&fullscreen={{ data5 }}';
}
//run it the first time (later on this will not run it by itself, we have to call the function specifically.
videoContentUpdate1();
</script>

videoContent[{ordernumber}]='video={{c.data[0]}高度={{c.data[1]}}宽度={{c.data[2]}编解码器={{c.data[3]}全屏={{data5}};
我的问题是,我用ajax刷新了整个页面,当我这样做时,这段代码不会再次执行。我不能为脚本块设置一个id,因为这些块中的许多块都将被循环,我不知道在哪个块上调用eval()

我是否可以将此声明附加到函数或对象(如“myDeclarationObject”)中,然后在页面刷新时对该对象调用eval()

我知道我可以研究javascript的细节,但我时间不够,如果你单独开发一个应用程序,你需要学习很多东西=)

更多示例代码

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<head>
  <title>$title</title>
  <meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
  <script src="/symfony/web/script/jquery-1.8.2.min.js" type='text/javascript'></script>
  <script src="/symfony/web/script/slideshow.js" type='text/javascript'></script>
  <script type='text/javascript'>
  /* set globals */
  var newContent = 'blank';
  var currentUri = '/symfony/web/app.php/Screen/showContainer/39';
  /* fire the slideshow from slide 1 once document is finished loading */
  $(document).ready(function(){
    console.log('start of slideshow');
    slideshow(1);
  </script>
</head>
<body id="slideshow_body">
  <script id='pauseTimesScript' type='text/javascript'>
  /* initialize the array to keep track of which slides have videocontent */
  try {
        videoContent=null;
        videoContent=undefined;
        videoContent = new Array();         
        /*alert('satte först till null, deklarerade sedan om.');*/
  } catch(e) {
        videoContent = new Array();         
        /*alert('deklarerade utan att först sätta null.');*/
  }
  /* Define pauseTimes (array holding duration of each slide) */
  try {
        pauseTimes=null;
        pauseTimes=undefined;
        pauseTimes = new Array();   
        setPauseTimes();        
        /*alert('satte först till null, deklarerade sedan om.');*/
  } catch(e) {
        pauseTimes = new Array();   
        setPauseTimes();        
        /*alert('deklarerade utan att först sätta null.');*/
  }
  /* This function sets pausetimes as well as initializes the array for videocontent */
  function setPauseTimes() {  
    pauseTimes[1]=2000;
    videoContent[1]=null;
    pauseTimes[2]=15000;
    videoContent[2]=null;
    pauseTimes[3]=2000;
    videoContent[3]=null;
    pauseTimes[4]=2000;
    videoContent[4]=null;
    pauseTimes[5]=1000;
    videoContent[5]=null;
    pauseTimes[6]=0;
    videoContent[6]=null;
  }
  </script>
  <div id="avbrott">
    Tillfälligt avbrott, visar cachelagrat innehåll sedan 2012-11-05 10:23:31
  </div>
  <div id="canvas">
    <div class="slide" id="slide1">
      <div id="slide_bg">
      <div id="preview_title">
        Egypt rocks!
        </div>
        <div></div>
        <p id="preview_data_6">Lorem ipsum
        dolor sit amet, consectetur adipiscing elit. Suspendisse feugiat
        pharetra eros, vitae ullamcorper tellus condimentum sit amet.
        Pellentesque habitant morbi tristique senectus et netus et malesuada
        fames ac turpis egestas. Suspendisse in leo erat. Aliquam interdum
        molestie tortor, nec lacinia mauris viverra eget. Suspendisse aliquam
        tempor scelerisque. Proin vel purus nunc. Pellentesque ut sapien
        libero.<br /></p>
      </div>
    </div>
    <div class="slide" id="slide2">
      <div id="slide_bg">
      <img src="/symfony/web/style/images/ajax-loader3.gif"  /></div>
      <div id="no_preview_text"></div>
            <script id="videoContentScript2">
      videoContent[2]='video=video.avi&height=800&width=600&codec=h264&fullscreen=0';
      </script>
    </div>
    <div class="slide" id="slide3">
      <div id="slide_bg">
      <div id="preview_title">
        info
        </div>
        <div></div>
        <p id="preview_data_6">In ornare
        fringilla convallis. In cursus pellentesque elit a iaculis. Fusce
        rutrum rutrum neque quis molestie. Fusce id lacus in est iaculis
        eleifend venenatis eget ante. Sed eget augue sed nisl scelerisque
        fermentum eget at arcu. Donec placerat turpis non sapien scelerisque
        tempus. Etiam imperdiet urna sit amet nulla convallis a facilisis dui
        scelerisque. Ut sed eros a velit venenatis lacinia ut id risus. Duis
        aliquam augue in erat malesuada ut eleifend justo condimentum. Praesent
        quis urna nisl. Vestibulum suscipit tincidunt nisl id tincidunt. Nunc
        ac ante sed lectus scelerisque blandit. Fusce ultrices, nulla nec
        porttitor dapibus, tellus libero fringilla odio, semper tincidunt
        mauris velit eu augue. Duis ut massa sed nibh auctor malesuada id eget
        ipsum.</p>
      </div>
    </div>
    <div class="slide" id="slide4">
      <div id="slide_bg">
      <div id="preview_title">
        Lite lek
        </div>
        <div></div>
        <p id="preview_data_6">Morbi ac
        rhoncus velit. Nunc blandit urna eu mi tempus volutpat. Quisque vel
        eros tortor. Sed fringilla, magna sit amet luctus imperdiet, urna
        libero dapibus nulla, in facilisis sapien ante nec ipsum. Maecenas
        suscipit orci nec turpis iaculis porttitor. Proin blandit tortor a
        magna porttitor malesuada. Sed porta quam sodales est sollicitudin
        vitae mattis quam consequat. Cum sociis natoque penatibus et magnis dis
        parturient montes, nascetur ridiculus mus. Ut eget accumsan ligula.
        Fusce a urna in diam sollicitudin ullamcorper. Donec et tellus quis
        justo scelerisque fermentum. Nunc molestie malesuada odio laoreet
        fermentum. Proin vel vestibulum nunc. Aliquam odio sem, elementum vel
        bibendum sit amet, ullamcorper quis tortor. Donec tempus massa
        pellentesque metus ornare eget laoreet enim porta. Nullam facilisis
        tempus neque vitae bibendum.</p>
      </div>
    </div>
    <div class="slide" id="slide5">
      <div id="slide_bg">
      <div id="preview_title">
        Feel the rythm
        </div>
        <div></div>
        <p id="preview_data_6"><br />
        <br />
        <br />
        <br />
        The rythm of the night =p</p>
      </div>
    </div>
    <div class="slide" id="slide6">
      <div id="slide_bg">
      <div id="preview_title">
        skipme
        </div>
        <div></div>
        <p id="preview_data_6">skipme</p>
      </div>
    </div>
  </div>
</body>
</html>

$title
/*集全局*/
var newContent='空白';
var currentUri='/symfony/web/app.php/Screen/showContainer/39';
/*文档加载完成后,从幻灯片1启动幻灯片放映*/
$(文档).ready(函数(){
console.log(“幻灯片放映开始”);
幻灯片(1);
/*初始化阵列以跟踪哪些幻灯片包含视频内容*/
试一试{
videoContent=null;
视频内容=未定义;
videoContent=新数组();
/*警报('satte först till null,deklarerade sedan om')*/
}捕获(e){
videoContent=新数组();
/*警报('deklarerade utan att först sätta null')*/
}
/*定义暂停时间(每张幻灯片的阵列保持时间)*/
试一试{
pauseTimes=null;
暂停时间=未定义;
pauseTimes=新数组();
setPauseTimes();
/*警报('satte först till null,deklarerade sedan om')*/
}捕获(e){
pauseTimes=新数组();
setPauseTimes();
/*警报('deklarerade utan att först sätta null')*/
}
/*此函数用于设置暂停时间以及初始化视频内容数组*/
函数setPausTimes(){
暂停时间[1]=2000;
视频内容[1]=空;
暂停时间[2]=15000;
视频内容[2]=空;
暂停时间[3]=2000;
视频内容[3]=空;
暂停时间[4]=2000;
视频内容[4]=空;
暂停时间[5]=1000;
视频内容[5]=空;
暂停时间[6]=0;
视频内容[6]=空;
}
Tillfälligt avbrott,visar cachelagrat innehåll轿车2012-11-05 10:23:31
埃及岩石!
Lorem ipsum
多洛·塞特·阿梅特,一位献身于和平事业的精英
pharetra eros,vitae ullamcorper tellus调味品公司。
佩伦特式居住者morbi tristique Sentecus et netus et malesuada
著名的ac turpis egestas。狮子座的悬钩子。中间的阿利奎姆
侵权行为,nec lacinia mauris viverra eget.不平等性中止
暂时的权杖。在普鲁斯修女节。佩伦茨克和智者节
自由人。

videoContent[2]=“video=video.avi&height=800&width=600&codec=h264&fullscreen=0”; 信息 ornare中的数据预览 弗林尼利亚·康瓦利斯。在《佩伦茨克精英》一书中 金樱子 埃利芬德·维尼那提斯·埃吉特·奥古斯·尼斯拉权杖 杜涅克角的酵母菌埃吉特无智人屠宰场 当你在酒后驾车时,你会感到不舒服 权杖。我们的爱欲是天鹅绒般的,我们的爱欲是天鹅绒般的 阿利奎姆·奥古斯(aliquam augue)是一种调味品 前庭承受力,前庭承受力,前庭承受力,前庭承受力,前庭承受力,前庭承受力,前庭承受力,前庭承受力,前庭承受力,前庭承受力 这是一个很好的例子 porttitor dapibus,tellus libero fringilla odio,semper tincidunt mauris velit eu augue.拍卖人malesuada id eget ipsum

石沥 Morbi ac 这是一个很好的例子 厄洛斯·托托。塞德·弗林利亚,麦格纳·塞特·卢库斯·因佩雷特,乌尔纳 无需自由,在设施方面,智者不需要自己的能力 在勃兰迪特河豚中发现了一种新的营养素 malesuada大港口。这是苏打水和苏打水的港口 教育和职业社会委员会成员的生活 临产的蒙特斯犬,是一种被称为舌苔的动物。 在直径上有一个乌拉尔科珀的乌拉尔科珀 胡斯托·塞莱里斯克发酵液。马莱苏阿达·奥迪奥·拉奥里特分子 发酵液。前庭发酵液。酒精发酵液。扫描电镜,元素发酵液 比班杜姆坐在阿梅特,乌兰姆·科佩尔·奎斯·托托。多涅克·坦普斯·马萨 佩朗斯克梅特斯或拉奥雷特·埃尼门无设施 天妇之灵

感受节奏





夜晚的节奏=p

斯基普米

skipme

正如您可能注意到的,id为slide1、slide2等的每个div都是根据某个模板循环出来的。除slide2之外的所有幻灯片都是模板类型,没有我所说的这个脚本块,但是slide2有,更多的幻灯片可能有它

有没有一种很好的方法可以将这些数据放入,而不是像我在这里所做的那样呈现脚本块

<script>
//define the function for later use (page updates)
function videoContentUpdate1() {    
    videoContent[1]='video={{ data0 }}&height={{ data1 }}&width={{ data2 }}&codec={{ data3 }}&fullscreen={{ data5 }}';
}
//run it the first time (later on this will not run it by itself, we have to call the function specifically.
videoContentUpdate1();
</script>
            //update the videoContents
            for (var i=1;i<(pauseTimes.length+1);i++)
            { 
                try {
                    var x = window['videoContentUpdate'+i];
                    x();
                }
                catch(e) {
                    //do nothing since we will not have a function named that for every slide, error is expected
                }
            }