Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1" />
<meta name="author" content="doktormolle" />
<meta name="date" content="2010-03-04" />
<title>Test</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
<!--
function fx(id)
{
$('#msg').append('<br/>Request ID#'+id);
$.post(
'mailSendeSkript.php',
{id:id},
function(data)
{
if(data)
{
$('#msg').append('->done');
if(data.id)
{
fx(data.id);
}
else
{
$('#msg').append('<br/><strong>complete</strong>');
}
}
},
'json'
);
}
//-->
</script>
</head>
<body>
<a onclick="fx(1);return false;" href="#">Klick</a>
<div id="msg"></div>
</body>
</html>
<?php
//$id per POST übergeben, ID des 1.zu selektierenden Datensatzes
$id=( isset($_POST['id']) && intval($_POST['id'])
)?intval($_POST['id']):1;
//kleine Simulation
if($id<100)
{
//Hier macht dein Skript, was es zu tun hat
sleep(2);
//Rückgabe ist ein JSON-String mit Member id,
//der id des Datensatzes, bei dem das nächste SELECT starten soll
die(json_encode(array('id'=>($id+10))));
}
//Falls nix mehr in DB, für ID NULL zurückgeben->ENDE
die(json_encode(array('id'=>NULL)));
?>
<?php
//HTTP-Adresse ...anpassen!
$http='http://example.com/skript.php';
//Skript B, per HTTP angefordert, id als Parameter
if(!empty($_GET['id']) && intval($_GET['id']))
{
$id=intval($_GET['id']);
//kleine Simulation
if($id<100)
{
//Hier macht dein Skript, was es zu tun hat
sleep(40);
//Rückgabe ist ein JSON-String mit Member id,
//der id des Datensatzes, bei dem das nächste SELECT starten soll
die(json_encode(array('id'=>($id+10))));
}
//Falls nix mehr in DB, für ID NULL zurückgeben->ENDE
die(json_encode(array('id'=>NULL)));
}
//Skript A, per Cronjob aufgerufen
elseif(!isset($_GET['id']))
{
$start=time();
$ex=0;
$id=1;
echo '<pre>Request ID#'.sprintf("%3.6d",$id);
flush();
while($id && $f=file_get_contents($http.'?id='.$id))
{
$now=microtime(true);
flush();
$f=json_decode($f);
if(is_object($f) && !empty($f->id))
{
$id=$f->id;
echo '->Done(Run-Time:'.sprintf("%4d",time()-$start).'sec/Execution-Time:'.sprintf("%1.6f",$ex).'sec)</pre><pre>Request ID#'.sprintf("%3.6d",$id);
$ex+=sprintf("%1.6f", (microtime(true)-$now));
}
else
{
$ex+=sprintf("%1.6f", (microtime(true)-$now));
die('->Done(Run-Time:'.sprintf("%4d",time()-$start).'sec/Execution-Time:'.sprintf("%1.6f",$ex).'sec)</pre><strong>Complete</strong>');
}
}
}
?>