Crao Poller

Ce truc veut servir à faire du polling sur Recent Changes depuis un browser.

Pour utiliser: poser !Crao Poller.html (Verrouillez la page pour permettre le lien) sur un serveur web, et l'ouvrir dans un browser.

Il est aussi possible de poser la page sur un disque local, mais ça marchera pas dans la Side Bar de Mozilla (qui ne supporte que de 'vraies' urls).

Opera fait ça tout seul si on lui dit. Les aggrégateurs de news sont aussi là pour ça et passent via l'interface RSS.

Mozilla à une Side Bar qui est là pour afficher les pages genre Recent Changes (qui changent toutes les 5 minutes)... si toutefois le serveur voulait bien envoyer un tag meta http-equiv refresh (voir ici).

En attendant que le serveur veuille bien envoyer des pages auto-rafraichissantes, on peut faire une micro-appli html/javascript qui fait le boulot pour un browser. Là voilà.

Le polling fonctionne sur Mozilla. On dirait que IE fait pas bien le reload (cache ?)

Le message qui suit est normal. Le source de !Crao Poller.hml est 'caché' dans cette page (via Raw Html Plugin, non activé). Verrouillez la page pour permettre le lien la page pour le voir...

Plugin RawHtml désactivé. HTML Pur n'est autorisé que dans les pages verrouillées.
<?plugin RawHtml

<!-- CraoPoller starts here -->

<html>
  <head>
    <title>CraoPoller</title>
  </head>

  <body>

<iframe id=page height=400 scrolling=no></iframe>

<br>

<a href=javascript:toggle('controlPanel')>Settings</a> (<tt id=status>on</tt>)
<div id=controlPanel style='visibility:hidden'>
<form id=control>
Poll: <input type=radio name=poll checked onclick=startPoll()>On
      <input type=radio name=poll onclick=clearPoll()>Off
<br>
Interval: <input type=text name=interval value=60 size=2 onchange=startPoll()>(s)
<br>
Size: <input type=button value='+' onclick=setSize(+20)><input type=button value='-' onclick=setSize(-20)>
<br>
URL:
<select id=url onchange=reloadPage()>
<option value=http://wiki.crao.net/index.php/%C9ditionsR%E9centes?format=sidebar&days=1>Toutes les modifs (aujourd'hui)

<option value=http://wiki.crao.net/index.php/Derni%E8resModifs?format=sidebar&days=1>Modifs majeures (aujourd'hui)
</select>
<br>
<input type=button value=SideBar onclick=addPanel()>
</form>
</div>

<script>
var timer
function reloadPage() {
  document.getElementById('page').src = document.getElementById('url').value
}

function startPoll() {
  clearPoll()
  interval = document.forms.control.interval.value
  timer = setInterval("reloadPage()", interval*1000);
  document.getElementById('status').innerHTML = 'On/'+interval+'s'
}

function clearPoll() {
  if (timer) clearInterval(timer);
  timer = 0
  document.getElementById('status').innerHTML = 'Off'
}

function setSize(inc) {
  var x = document.getElementById('page').height;
  document.getElementById('page').height = eval(x)+inc;
}

reloadPage()
startPoll()


function toggle(id) {
  var elt = document.getElementById(id).style;
  if (elt.visibility == 'hidden')
    elt.visibility = 'visible'
  else
    elt.visibility = 'hidden'
}

function addPanel() {
    window.sidebar.addPanel ("Crao wiki - DernièresModifs",
       window.location,"");
}
</script>

  </body>
</html>

<!-- end of CraoPoller -->

?>

Category Plugin

Dernière modification le vendredi 10 octobre 2003 16:35:34

Éditer HistoriqueDeLaPage Diff  InfosSurLaPage