2012-04-22 7 views
0

오늘 다음 코드를 작업 중이며 로컬 컴퓨터에서 제대로 작동합니다. 하지만 내 iPhone/iPad에서 테스트 할 때 전혀 작동하지 않습니다.자바 스크립트 jquery가 iPhone/Ipad에서 작동하지 않습니다.

코드는 사용자가 웹 사이트에서 나가면 페이지 방문 기간을 텍스트 파일로 저장합니다. 인터넷에 다운로드 할 수있는 대체 스크립트가 많이 있다는 것을 알고 있지만 직접 작성하고 싶습니다. 어떤 제안이라도 환영합니다.

의 index.php :

<!DOCTYPE html> 
<html> 
<HEAD> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
    <script type="text/javascript"> 

     function unloadPage(){ 

     var dd = new Date(); 
     var hh = (dd.getHours()<10?'0':'') + dd.getHours(); 
     var mm = (dd.getMinutes()<10?'0':'') + dd.getMinutes(); 
     var ss = (dd.getSeconds()<10?'0':'') + dd.getSeconds(); 
     var htmlString="<?php echo date('Gis') ?>"; 
     var timed = (hh + "" + mm + "" + ss) - htmlString; 

     jQuery.ajax({ 
     url: 'time2.php?t=' + timed, 
     success: function(result) { 
         if(result.isOk == false) 
          alert(result.message); 
        }, 
     async: false 
     });   
     } 

     window.onbeforeunload = unloadPage; 

    </script> 
    <meta charset="utf-8"> 
    <title>thepaintjob.nl</title> 
</head> 
<BODY> 
    <? 
      $myFile = "temp.txt"; 
      $fh = fopen($myFile, 'r'); 
      $theData = fread($fh, 5); 
      fclose($fh); 
      echo duration($theData); 
    ?> 
</body> 
</html> 

<?php 
    function duration($secs) 
    { 
     $vals = array('w' => (int) ($secs/86400/7), 
         'd' => $secs/86400 % 7, 
         'h' => $secs/3600 % 24, 
         'm' => $secs/60 % 60, 
         's' => $secs % 60); 

     $ret = array(); 

     $added = false; 
     foreach ($vals as $k => $v) { 
      if ($v > 0 || $added) { 
       $added = true; 
       $ret[] = $v . $k; 
      } 
     } 

     return join(' ', $ret); 
    } 
?> 

time2.php :

<?php 
$myFile = "temp.txt"; 
$fh = fopen($myFile, 'r'); 
$theData = fread($fh, 5); 
fclose($fh); 
echo $total = $theData+$_GET['t']; 



$File = "temp.txt"; 
$Handle = fopen($File, 'w'); 
$Data = $total; 
fwrite($Handle, $Data); 
fclose($Handle); 
?> 
+0

'var timed = (hh + ""+ mm + ""+ ss) -htmlString;'오류가 발생합니까? 끈을 뺄 수는 없습니까? –

+0

스크립트가 정확히 어디에서 실패합니까? ay 오류가 발생합니까? –

+0

잘 사파리 나 크롬에 어떤 오류도 없었습니다. 그것은 작동하는 것, 나는 이미 내 웹 사이트에서 "시계"시간의 15 분 이상이 있습니다 :) – needle

답변

3

아이폰 OS는 onbeforeunload를 지원하지 않습니다. This question이이 문제를 해결합니다.

+0

O_o ​​오케이, 죄송합니다. – needle

관련 문제