Sayfaları nasıl I döngüsü?

10 Cevap php

İşte son zamanlarda görevli bir meydan okuma. Hala belki bir başkası bir fikir vardır, bunu yapmak için en iyi yolu çözemedim.

, PHP ve / veya HTML kullanarak bir sayfa oluşturmak, belirli bir aralıkta diğer sayfaları herhangi bir sayı ile çevrimleri.

Örneğin, bir benzeri üzerinde 180 saniye ve böylece için StackOverflow daha sonra, 10 saniye boyunca yahoo, daha sonra da biz bu sayfayı yüklemek istiyorsunuz ve bu 20 saniye boyunca google bizi alacaktı.

10 Cevap

O zaman delay() bir süre için Javascript kullanın ve iframe en location özelliği ayarlamak, içerik için ayrı bir çerçeve kullanır.

Eğer başka bir siteye alındığında çalışmasını sağlamak için komut için sırayla, bir çerçeve içinde yeni bir site yüklemek gerekiyordu, ve ben hayal ediyorum ki (sizin komut tutmak çok (örneğin Google) kontrolü, bu siteye geçer en kolay o yüzden göremiyorum çok küçük yapılmış olabilir başka bir çerçeveye () Javascript) kullanılarak uygulanabilir.

Tam gereksinimlerine bağlıdır. JavaScript izin ve çerçeveler izin verirseniz, o size bazı JavaScript yük içine sayfanızda bir çerçeve içinde gizli bir çerçeve sopa olabilir. Bu JavaScript ardından window.location nesne ve setTimeout fonksiyonunu kullanarak ana çerçevenin içeriğini kontrol edecek.

Olumsuz kullanıcının adres çubuğu yeni bir URL ile güncelleme olmaz olurdu. Ben bu aksi takdirde başarılabilir nasıl emin değilim. Eğer kısıtlamaları açıklamak eğer ben daha fazla yardım sağlayabilir.

Edit - kullanıcı eylemi tetikleyen sürece tarayıcı açılan bloke olsa Shad önerisi bir olasılıktır. Yine bir pop-up izin verilen olup olmadığını açıklığa kavuşturmak gerekiyor.

Onun içinde bir IFrame ile bir sarıcı HTML sayfası oluşturun, 100% x 100% de büyüklüğünde. Ardından src set aralıkları arasında IFrame değiştirir bazı javascript ekleyin.

Ben diğer web sitelerine berbat ve onun üzerinde kendi içeriği ile bunları görüntüler, hangi gabbly.com gibi çalışmak zorunda olacağını düşünüyorum.

Eğer diğer site okumak ve görüntülemek için hazır olduğumuzu bir kez, gerçekten "PHP" bunu yapamadık; Eğer meta tag yönlendirmek bir HTML göndermek gerekir:

<meta HTTP-EQUIV="REFRESH" content="15; url=http://www.thepagecycler.com/nextpage.html">

Ya da bunun yerine meta etiketi Javascript kullanabilirsiniz.

Bu yönlendirmeyi düzenlemek istediğiniz sürece .... PHP arka uç teknolojisi, bir PHP komut dosyası yapılabilir değildir; Eğer Javascript veya benzeri bunu yapmak için ihtiyacımız olacak.

Yapmanız gidiyoruz iyi, bildiğim kadarıyla, web sunucusu üzerinde bir metin dosyası oluşturun ve bu metin dosyasının zaman aşımına dayalı farklı bir HTTP adresini yüklemesinin olduğunu, o bulunan siteye tarayıcı yönlendirme metin dosyası.

Akla atlar ilk çözüm, bir çerçeve içinde bunu yapmak için. Çerçevelerin bir ve diğer ekranı söz konusu sayfa sakla. Gizli çerçevesinden Javascript ile sayfa geçişleri sürün.

function RefreshFrame()
{
    parent.VisibleFrame.location.href = urlArray[i];
    i++;

    if(i < urlArray.length) SetTimeout("RefreshFrame()", 20000);
}

var i = 0;
var urlArray = ['http://google.com','http://yahoo.com', 'http://www.search.com'];
RefreshFrame();

Bu örnekte Javascript hiddend çerçeve içinde olacak, ve size görünür çerçeve "VisibleFrame" isim olur.

Yasal Uyarı: Ben sadece comment penceresinde bu kodu yazdı ve bunu test etmedim

Sen oldukça kolay JavaScript ile bu yapabilirdi. Bu dağıtım ortamı bilmek yardımcı olacaktır. Bir köşk veya bir şey mi?

JavaScript çözümü için, yeni bir tarayıcı penceresi açık açılır bir JavaScript içeren bir sayfa kadar hizmet vermektedir. Kontrolör sayfa daha sonra bir dizi sayfa dolaşmak için yeni bir tarayıcı penceresi neden olacaktır. Yani ben düşünüyorum ki bunu yapmak için basit yolu hakkında.

Edit: Simon yorumuna katılıyorum. Bu çözüm sayfaları sadece herhangi bir kullanıcı etkileşimi olmadan gösterilir ediliyor bir köşk veya büyük kamu ekran ortamda en iyi çalışır.

Ben bu şeyi oluşturmak başardı. Bu hoş değil ama çalışır.

<?php
# Path the config file, full or relative.
$configfile="config.conf"; 
$tempfile="tmp.html";
# Read the file into an array
$farray=file($configfile);  
# Count array elements
$count=count($farray);  
if(!isset($_GET['s'])){
    $s=0;
}else{  
    $s=$_GET['s'];
if($s==($count-1)){ # -1 because of the offset in starting our loop at 0 instead of 1
	$s=0;
}else{
	$s=$_GET['s']+1; # Increment the counter
}
}
# Get the line from the array
$entry=$farray[$s];
# Break the line on the comma into 2 entries
$arr=explode(",",$entry);       
# Now each line is in 2 pieces - URL and TimeDelay
$url=strtolower($arr[0]);
# Check our url to see if it has an HTTP prepended, if it doesn't, give it one.
$check=strstr($url,"http://"); 
if($check==FALSE){
    $url="http://".$url;
    }           
# Trim unwanted crap from the time
$time=rtrim($arr[1]);   			
# Get a handle to the temp file
$tmphandle=fopen($tempfile,"w");
# What does our meta refresh look like?
$meta="<meta http-equiv=\"refresh\" content=\"".$time.";url=index.php?s=".$s."\">\n";
# The iframe to display
$content="<iframe src =\"".$url."\" height=\"100%\" width=\"100%\"></iframe>";
# roll up the meta and content to be written
$str=$meta.$content;
# Write it
fwrite($tmphandle,$str);
# Close the handle
fclose($tmphandle);
# Load the page
die(header("Location:tmp.html"));            
?>

Config files looks like (URL, Time to stay on that page): google.com,5 http://yahoo.com,10

Bunu yapmanın yolları bir sürü var, JS Ruby her şeyi ile iv yazılmış birçok program ve araçları

Sonunda Kullanması çok kolay oldu http://dashboardrotator.com. Bu tarayıcı yeniden başlatıldığında, bellek ayırma ve güzel bir basit GUI ile benim için yanlışlıkla pencere kapatma ele.