오늘 다음 코드를 작업 중이며 로컬 컴퓨터에서 제대로 작동합니다. 하지만 내 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);
?>
'var timed = (hh + ""+ mm + ""+ ss) -htmlString;'오류가 발생합니까? 끈을 뺄 수는 없습니까? –
스크립트가 정확히 어디에서 실패합니까? ay 오류가 발생합니까? –
잘 사파리 나 크롬에 어떤 오류도 없었습니다. 그것은 작동하는 것, 나는 이미 내 웹 사이트에서 "시계"시간의 15 분 이상이 있습니다 :) – needle