Как я могу циклически повториться через страницы?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

9
задан GreenO 17 September 2008 в 15:00
поделиться

11 ответов

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Dashboard Example</title>
<style type="text/css">
body, html { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; }
iframe { border: none; }
</style>
<script type="text/javascript">
var Dash = {
    nextIndex: 0,

    dashboards: [
        {url: "http://www.google.com", time: 5},
        {url: "http://www.yahoo.com", time: 10},
        {url: "http://www.stackoverflow.com", time: 15}
    ],

    display: function()
    {
        var dashboard = Dash.dashboards[Dash.nextIndex];
        frames["displayArea"].location.href = dashboard.url;
        Dash.nextIndex = (Dash.nextIndex + 1) % Dash.dashboards.length;
        setTimeout(Dash.display, dashboard.time * 1000);
    }
};

window.onload = Dash.display;
</script>
</head>
<body>
<iframe name="displayArea" width="100%" height="100%"></iframe>
</body>
</html>
19
ответ дан 4 December 2019 в 10:06
поделиться

Используйте отдельный iframe для содержания, затем используйте JavaScript для delay() промежуток времени и набор iframe's location свойство.

1
ответ дан 4 December 2019 в 10:06
поделиться

То, когда Вы взяты на другой сайт (например, Google), управление передает тому сайту, таким образом, для Вашего сценария для продолжания бежать необходимо было бы загрузить новый сайт в кадре и сохранить сценарий (который я воображу, могло наиболее с готовностью быть реализовано с помощью JavaScript) в другом кадре (который, мог быть сделан очень маленьким, таким образом, Вы не видите его).

1
ответ дан 4 December 2019 в 10:06
поделиться

Мне удалось создать эту вещь. Это не симпатично, но это действительно работает.

<?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"));            
?>

Файлы конфигурации похожи (URL, Время для пребывания на той странице): google.com, 5 http://yahoo.com,10

1
ответ дан 4 December 2019 в 10:06
поделиться

Зависит от Ваших строгих требований. Если Вы позволяете JavaScript и позволяете кадры затем, можно засунуть скрытый кадр в frameset на странице, в которую Вы загружаете некоторый JavaScript. Этот JavaScript будет затем управлять содержанием основного кадра с помощью объекта window.location и функции setTimeout.

Оборотная сторона была бы то, что строка поиска пользователя не обновит с новым URL. Я не уверен, как это было бы достижимый иначе. Если можно разъяснить ограничения, я могу обеспечить больше справки.

Редактирование - предложение Алозы является возможностью, хотя, если пользователь не инициировал действие, браузер может заблокировать всплывающее окно. Снова необходимо было бы разъясниться, допустимо ли всплывающее окно.

0
ответ дан 4 December 2019 в 10:06
поделиться

Создайте страницу HTML обертки с IFrame в нем, измеренный в 100% x 100%. Затем добавьте в некотором JavaScript, который изменяется src из IFrame между интервалами набора.

0
ответ дан 4 December 2019 в 10:06
поделиться

Я думаю, что это должно было бы работать как gabbly.com, который впитывает другие веб-сайты и отображает их с его собственным содержанием по нему.

После того как Вы читаете другой сайт в и были готовы отобразить его, Вы не могли действительно сделать этого "в PHP"; необходимо было бы отправить метатег перенаправления HTML:

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

Или Вы могли использовать JavaScript вместо метатега.

0
ответ дан 4 December 2019 в 10:06
поделиться

Первое решение, которое переходит для возражения, состоит в том, чтобы сделать это в frameset. Скройте один из кадров и другой дисплей рассматриваемые страницы. Управляйте переходами страницы с JavaScript от скрытого кадра.

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();

В этом примере JavaScript был бы в кадре hiddend, и Вы назовете свой видимый кадр "VisibleFrame".

Отказ от ответственности: Я просто написал этот код в окне комментария и не протестировал его

0
ответ дан 4 December 2019 в 10:06
поделиться

Вы могли сделать это с JavaScript довольно легко. Это помогло бы знать среду развертывания. Действительно ли это - киоск или что-то?

Для решения JavaScript подайте страницу, которая содержит JavaScript, который появится открытый новое окно браузера. Страница контроллера затем заставит новое окно браузера циклически повторяться через ряд страниц. Это о самом простом способе сделать это, что я могу думать.

Править: Согласитесь с комментарием Simon. Это решение работало бы лучше всего в киоске или большой, общедоступной среде дисплея, где страницы просто показывают без любого взаимодействия с пользователем.

0
ответ дан 4 December 2019 в 10:06
поделиться

Это не выполнимо в Сценарии PHP, если Вы не хотите отредактировать перенаправление.... PHP является технологией бэкэнда; Вы испытываете необходимость, чтобы сделать это в JavaScript и т.п.

Лучшее, которое Вы собираетесь сделать, насколько я знаю, должно создать текстовый файл на Вашем веб-сервере и загрузить другой Адрес HTTP на основе времени из того текстового файла, затем перенаправить браузер на сайт, найденный в том текстовом файле.

0
ответ дан 4 December 2019 в 10:06
поделиться

Теория позади запроса является в основном способностью циклически повторить через панели инструментов веб-страницы для различных систем от "киоска" ПК. Я наблюдаю за дата-центром, и у нас есть несколько систем контроля, которые позволяют мне панели инструментов представления для временных файлов, система время, и т.д. и т.д. Идея является загрузкой страница, которая циклически повторилась бы от панели инструментов до панели инструментов, остающейся на каждом для количества времени, указанного мной, 1 минутой на этой плате, 30 секунд на следующей плате, 2 минуты на следующем и так далее.. JavaScript абсолютно допустим (хотя у меня есть небольшой опыт с ним). Мой предпочтительный носитель является PHP/HTML, и я не вижу способ заставить это произойти чисто только с ими..

0
ответ дан 4 December 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: