2014-04-22 2 views
0

DOM 값을 바꾸거나 (변경되는) 파일의 내용을 1 초 간격으로 표시하기 위해 Ajax 스크립트를 작성하려고했습니다. 버튼을 시작하려면 어떻게해야합니까? 파일은 복잡하지 않으며 단일 숫자 또는 문자열 만 포함 할 수 있습니다.Ajax가 사용자 상호 작용없이 1 초 간격으로 파일을 표시합니다.

랜스

#!/usr/bin/perl -w 
use strict ; 
use warnings ; 
use CGI ; 
package AjaxTest ; 

my $PA = "position:absolute; " ; 

print "Content-type: text/html\n\n 
    <!DOCTYPE HTML> 
    <html lang='en'> 
     <head> 
      <style type='text/css'> 
       p.Standard{ font-family:helvetica ; font-size:14px ; text-decoration:none ; text-align:left ; text-indent:0ex ; white-space:nowrap ; } 
      </style> 
     </head> 
     <body> 
      <div style='" . $PA . "left:2px ; top:2px ; '> 
       <p id='ToChange' class='Standard'></p> 
      </div>" ; 
&OverviewAjax ; 
print 
     "</body> 
    </html>" ; 
exit ; 

sub OverviewAjax { 
    print 
    "<script type='text/javascript'> 
     setInterval(UpdateOverview , 500) ; 

     function UpdateOverview() { 
      document.getElementById('ToChange').innerHTML = JSGimme('TextFile') ; 
     } 

     function JSGimme(nit) { 
      jsiocb = fopen('files/' + nit , 0) ; 
      if (jsiocb != -1) { 
       length = flength(jsiocb) ; 
       jsval = fread(jsiocb , length) ; 
      } 
      fclose(jsiocb) ; 
      return jsval ; 
     } 
    </script>" ; 
} 
+0

당신이'에서는 setInterval() '함수를 사용하여 시도? –

+0

웹에서 찾은 모든 사례, 시작하려면 버튼을 클릭해야합니다. – user3550435

+1

그래서 ... 이벤트 밖에서 코드를 실행하면됩니다. 모든 것이 이벤트를 가져야 만하는 것은 아닙니다. 예 : ''복사/붙여 넣기 프로그램을 중단하고 코드 작성을 시작하십시오! –

답변

-1

사용 window.setInterval 그것을 할 수 있습니다 :

http://www.w3schools.com/jsref/met_win_setinterval.asp

+0

예를 들어,이 예제에서 버튼을 클릭하여 작동시켜야합니다 ... – user3550435

+0

당신은하지 마십시오. Setinterval은 함수와 밀리 세컨드 단위의 간격을받습니다. 이 함수는 ajax를 수행해야합니다. 좋은 대답은 다음과 같습니다. http://stackoverflow.com/questions/18987943/what-is-the-optimal-way-to-use-setinterval-in-jquery-ajax-calls –

+0

자바 스크립트 함수와 마찬가지로 언제든지 해고 될 수있다. 문서에 준비된 상태에서 실행하려면 클릭시 대신 준비된 문서에서 실행하는 기능을 설정하십시오. – APAD1

관련 문제