Är det ett slumpat bibelord du får eller dagens ord?
Jag skulle lösa det hela med php istället. Antingen köra något cron på natten som hämtar ordet om det är dagens eller så hämta några att slumpa från och byta ut dom nästa natt.
4 svar · 680 visningar · startad av gabrielf
Jag har ett potentiellt problem på en hemsida jag administrerar. Saken är den att jag i en modul vill hämta ett bibelord från bibeln.se. Koden som ligger på hemsidan ser ut som följer:
<script language="Javascript"
src="http://www.bibeln.se/pren/syndikering.jsp?
kund=info@en.kyrka.se"> </script>
och den sidan som är source för scriptet ser ut såhär:
<!--
document.writeln('<span class="bibel_ord">Så älskade Gud världen, att han gav den sin ende son, för att var och en som tror på honom inte ska gå under, utan ha evigt liv.</span><br><a href="http://www.bibeln.se/pren/instruktion.jsp" class="bibel_link">Joh 3:16</a><p align="right"><a href="http://www.bibeln.se" target="_new" class="bibelnse_link">bibeln.se</a></p>');
//-->
Mitt problem är att bibeln.se inte verkar vara 100% tillgänglig och jag var nån gång med om att den inte svarade och då laddade inte min sida heller. Jag vill skydda mig från detta och undrar om någon har nån idé om hur man skulle kunna göra det. Kan man köra nåt script i bakgrunden som uppdaterar då och då istället för att laddningen körs varje sidvisning? Det skulle väl dessutom ge en snabbare sida. Hur gör jag i så fall det?
Tacksam för all hjälp!
Är det ett slumpat bibelord du får eller dagens ord?
Jag skulle lösa det hela med php istället. Antingen köra något cron på natten som hämtar ordet om det är dagens eller så hämta några att slumpa från och byta ut dom nästa natt.
Det är dagens bibelord jag får så det uppdateras varje dag. Hur kan jag lösa det med php? Jag har dessvärre rätt dålig koll på sådant.
I cron-skriptet något i den här stilen.
<?php
$str = file_get_contents('http://www.bibeln.se/pren/syndikering.jsp? kund=info@en.kyrka.se');
$str = preg_replace('document.writeln(\'', '', $str);
$str = preg_replace('\');', '', $str);
file_put_contents('./dagens_ord.txt', $str); ?>
Först hämtas strängen. Sen tas JavaScript-delen bort och sen skrivs den ner till en fil,
Om din sida använder php så kan du antingen sätta detta där det ska visas.
<?php echo file_get_contents('./dagens_ord.txt'); ?>
Eller så hämtar du det tidigare i skriptet och visar det med.
<?= $dagens_ord ?>
Det finns ingen felkoll i det där, men det gör det inte i din JavaScript heller.
Tack så mycket!
Nu när Loopia äntligen ativerat Crontab så fungerar det fint.
UPDATE: Hmm, verkar trots allt inte fungera. dagens_ord.txt förblir tom. file_get_contents verkar inte fungera. Om man tar bort rad 4 och 5 så ändrar inte det på det.