/    Sign up×
Community /Pin to ProfileBookmark

[RESOLVED] Random page from directory

This is my first post in WebDeveloper.com, please let me know if I make any newbie-poster errors.

On my website I have a link that should point to a random page on my server (all in the same folder). As my site is now almost 100 pages large, I want to avoid having to add each and every page to a JS. I also prefer not to use php. All the pages that should be linked have the suffix .shtml.

—Option 1

I have a script that randomly points to pages named page01.shtml, page02.shtml etc., but I want to keep the current filenames (artprojects.shtml, webdesign.shtml), for usability sake:

<script type = “text/javascript”>

function reDirect() {
x = Math.ceil(Math.random() * 86);
newPage = “Page” + x + “.html”;
window.location = newPage;
}

</script>

This works fine if I’d change every filename to page01.shtml etc., but for usability sake I’d rather don’t (adding a number is fine, though also preferably not). Is it possible to use a wildcard for the value “Page”? Also, would it be possible to exclude some pages (like cv.shtml)?

—Option 2

Here’s another script that works great for random images. Could this eventually be changed to work for html-pages instead?

<script type = “text/javascript”>
function getRandomImage()
{
var upperLimit = 39;
var imagePath = “img/”;
var baseName = “picture”;
var imageType = “.jpg”;

var randomNum = Math.round(Math.random()*upperLimit);
var fileName = imagePath + baseName + randomNum + imageType;
return fileName;
} // JavaScript Document

</script>

I’ve changed it to this (and please excuse the crudeness ? ):
<script type = “text/javascript”>
function getRandomImage()
{
var upperLimit = 1;
var imagePath = ” “;
var baseName = ” “;
var imageType = “.shtml”;

var randomNum = Math.round(Math.random()*upperLimit);
var fileName = imagePath + baseName + randomNum + imageType;
return fileName;
} // JavaScript Document

</script>

(var upperLimit = 1; only used for testing). The result is a page with a broken image which links to a random page. Close, but not quite there.

Thanks in advance for your help.

to post a comment
JavaScript

4 Comments(s)

Copy linkTweet thisAlerts:
@FangMar 25.2010 — Options:

1. rename the documents to contain an index: page01.shtml, page02.shtml etc.

  • 2. create an array containing existing document names


  • 3. use a server-side script
  • Copy linkTweet thisAlerts:
    @PrisauthorMar 25.2010 — Options:

    1. rename the documents to contain an index: page01.shtml, page02.shtml etc.[/QUOTE]


    Thanks for your reply. I'd rather not change all filenames to page01.html etc. It would take as much time as using a script that requires naming all linked pages, plus it'd make updating my site a real pain in the you-know-where.

    The idea is using a javascipt that automatically points to all files with the suffix .shtml in one particular directory. This script: &lt;script type = "text/javascript"&gt;

    function reDirect() {
    x = Math.ceil(Math.random() * 86);
    newPage = "Page" + x + ".html";
    window.location = newPage;
    }

    &lt;/script&gt;
    would be fine if the value "Page" could be ignored (like a wildcard). Adding a number to the html-files would be OK.

    Again, I'd rather not use a serverside script (PHP).
    Copy linkTweet thisAlerts:
    @FangMar 25.2010 — would be fine if the value "Page" could be ignored (like a wildcard)[/QUOTE]that would not work.
    Copy linkTweet thisAlerts:
    @PrisauthorMar 25.2010 — Used the script mentioned here instead http://www.irt.org/articles/js033/index.htm#6

    Thanks.
    ×

    Success!

    Help @Pris spread the word by sharing this article on Twitter...

    Tweet This
    Sign in
    Forgot password?
    Sign in with TwitchSign in with GithubCreate Account
    about: ({
    version: 0.1.9 BETA 5.29,
    whats_new: community page,
    up_next: more Davinci•003 tasks,
    coming_soon: events calendar,
    social: @webDeveloperHQ
    });

    legal: ({
    terms: of use,
    privacy: policy
    });
    changelog: (
    version: 0.1.9,
    notes: added community page

    version: 0.1.8,
    notes: added Davinci•003

    version: 0.1.7,
    notes: upvote answers to bounties

    version: 0.1.6,
    notes: article editor refresh
    )...
    recent_tips: (
    tipper: @AriseFacilitySolutions09,
    tipped: article
    amount: 1000 SATS,

    tipper: @Yussuf4331,
    tipped: article
    amount: 1000 SATS,

    tipper: @darkwebsites540,
    tipped: article
    amount: 10 SATS,
    )...