Я знаю, что есть много вопросов по этому поводу, но я не нашел ничего конкретного для мобильных устройств.
По определенным причинам я не могу использовать php на «главных» страницах, поэтому я сделал это через jQuery $.get
Работает нормально, кроме случаев, когда дело доходит до загрузки, я использовал 1x1 iframe, чтобы начать загрузку, которая работает нормально .. кроме как на iphone + galaxy s2 (только 2 я тестировал на atm)
мой код на странице, вызываемой iframe:
<?
$email = mysql_escape_string($_GET['email']);
$code = mysql_escape_string($_GET['code']);
include('xxxxx.php');
mysql_select_db($xxxxx);
$now = strtotime(date('c'));
$sql = mysql_query("SELECT * FROM `xxxxx` WHERE `email` = '$email' AND `code` = '$code'");
if(mysql_num_rows($sql) == 0) { echo "<script>alert('Incorrect Code');</script>"; die; }
$query = mysql_fetch_object($sql);
if(strtotime($query->expires) > $now) {
$filename = "theused.wav";
header('Content-type: audio/x-wav');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Transfer-Encoding: binary');
readfile('http://www.something.co.uk/xxx/' . $filename);
} else {
echo "<script>alert('Code Expired');</script>"; die;
}
?>
Загрузка работает нормально при прямом доступе к этой странице, но не при ее открытии в iFrame
Становится еще более странным ... просто попытался вместо этого сделать window.location, при подключении к wifi происходит сбой и он говорит, что загрузка не удалась, на 3g, кажется, работает нормально.