Ho questo javascript che sto cercando di modificare per le mie esigenze - la versione orginale è su Html.it .
La funzione è quella di caricare dei contenuti random da determinati files.
(devo usare per forza JS per via del CMS che uso).
Codice HTML:
<script type="text/javascript">
/***********************************************
* Ajax Rotating Includes script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
//To include a page, invoke ajaxinclude(files_array, "ROTATETYPE") in the BODY of page.
//* file_array is the name of the array containing your list of files to include.
//* For "ROTATETYPE", valid values are "dailyw", "dailym", and "random", for each day of the week, each day of the month, and random, respectively.
//* Included file MUST be from the same domain as the page displaying it.
//Enter path to list of files to display.
//For rotatetype="random", there must be 7 files, and for "dailym", 31 files. Otherwise, no restriction:
var includefiles=["file1.html", "file2.html", "file3.html", "file4.html"]
var rootdomain="http://"+window.location.hostname
function ajaxinclude(files_array, rotatetype){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
var url=choosefile(files_array, rotatetype)
if (typeof includefiles[url]=="undefined"){
document.write("Error: No file.")
return
}
else
url=includefiles[url]
page_request.open('GET', url, false) //get page synchronously
page_request.send(null)
writecontent(page_request)
}
function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}
function choosefile(files_array, rotatetype){
var today=new Date()
var selectedfile=(rotatetype=="dailyw")? today.getDay() : rotatetype=="dailym"? today.getDate() : Math.floor(Math.random()*files_array.length)
if (rotatetype=="dailyw" && selectedfile==0) //if display type=="week days" and today is Sunday
selectedfile=7
if (rotatetype=="dailyw" || rotatetype=="dailym")
selectedfile-- //remove 1 to sync with array index
return selectedfile
}
</script>
Ora, lo script funziona perfettamente se collocato nella stessa cartella dei files da includere (cioè se script.html è nella stessa cartella di file1.html, file2.html ecc) mentre non so cosa modificare per inserirlo in un percorso diverso.
In pratica, lo script dovrebbe girare su una pagina nella root del sito, mentre i files sarebbero collocati in un percorso del tipo /contenuti/html/ .
P.S. spero di essere stato chiaro.