0

我是 jquery 以及堆栈溢出的新手。我希望您能在一些可能很简单的事情上提供帮助。我尝试了一些提出的解决方案,但没有一个适合我的情况。

我正在尝试使用 History.js 插件来修复似乎不适用于 Ajax 的后退按钮功能。问题是我无法正确处理插件,所以当我更改状态时,URL 会发生变化,如果我尝试刷新初始模板就会消失。

这是脚本:

<script>
    $(function () {
        // Prepare
        var History = window.History; // Note: We are using a capital H instead of a lower h

        if (!History.enabled) {
            // History.js is disabled for this browser.
            // This is because we can optionally choose to support HTML4 browsers or not.
            return false;
        }

        // Bind to StateChange Event
        History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate
            alert('we have a state change');
            alert(document.URL);
            if (document.URL == 'http://localhost/e-support-uop.com/') {
                alert('ok');
                $('#main_contents').load('home.php');

            }
            else {
                var State = History.getState();

                $('#main_contents').load(State.url);
            }
        });

        $('a').click(function (evt) {
            evt.preventDefault();
            History.pushState(null, $(this).text(), $(this).attr('href'));
        });
    });
</script>

这是html的基础知识

<html>
 <head>
   <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
   <script src="javascript/jquery-1.9.1.min.js"></script>
   <script src="history.js/scripts/bundled/html4+html5/jquery.history.js" type="text/javascript"></script>
</head>
<body>
....
  <div id="main_contents">
       <!--all the content goes here and the this is the div that I want to change..-->
...
       <div id="rooms">
          <img src='images/rooms2.jpg' />
          <div class='description'>  
        <p class='description_content'>
              <a href="rooms.php" rel="rooms.php" class='img_link'>Rooms</a>
                     <!-- on click on this link I need main_contents content refresh -->  
            </p>  
        </div>  
   </div> <!--end main contents -->
</body>

我想更改 div 的内容,但保持刷新功能正常工作。初始模板也应该在那里。

4

0 回答 0