user1532587
user1532587

Reputation: 1023

jQuery mobile redirects after page loads

I want to make a redirection with jQuery mobile right just after the page loads. Something like this

<?php
... some php stuff here
?>
<html> 
    <head> 
        <link rel="stylesheet" href="css/jquery.mobile-1.1.1.min.css" />
        <script src="js/jquery-1.7.2.min.js"></script>
        <script src="js/jquery.mobile-1.1.1.min.js"></script>
    </head> 
<script>
        $.mobile.changePage("index.php");
</script>

But nothing happens...

Thanks!

Upvotes: 1

Views: 3406

Answers (4)

Hayden Ball
Hayden Ball

Reputation: 307

Nothing happens because jQueryMobile hasn't done it's magic yet.

Try:

$(document).bind('pageinit', function() {
      $.mobile.changePage("index.php");
});

You could also try some of the events listed at http://jquerymobile.com/demos/1.1.1/docs/api/events.html

Edited following comment: The following works as expected for me:

<html>
    <head>
        <title>My Page</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
        <script>
        $(document).bind('pageinit', function() {
            $.mobile.changePage("#pageTwo");
        });
        </script>
    </head>
    <body>
        <div id="firstPageId" data-role="page">
        Page One
        </div>
        <div id="pageTwo" data-role="page">
        Page Two
        </div>
    </body>
</html>

Upvotes: 1

hekomobile
hekomobile

Reputation: 1388

Please try this to end of your page and before </body> tag,

<script>
  $(window).load("index.php", function() {
     // stuff or not
  });
</script>

I hope help you. :)

Upvotes: 0

Ellipsis
Ellipsis

Reputation: 117

Try, adding your page-id in the script with .live, something like this:

 $('#mainpage').live('pageinit', function (event) {
    alert("hi");
    //$.mobile.changePage("index.php");

});

Here is the full example: http://jsfiddle.net/KyKFE/

On the other hand, you can also use just plain javascript function or php (if .php page) to do the redirection. They are many different ways to do this.

Upvotes: 0

Alex Ciminian
Alex Ciminian

Reputation: 11498

You can use plain ol' JavaScript for this, you don't need jQuery:

window.location = "index.php";

To do it after the page loads, add a $(document).ready() handler:

$(document).ready(function () {
   window.location = "index.php";
});

Upvotes: 0

Related Questions