отключить хэш-обмен - PullRequest
       17

отключить хэш-обмен

0 голосов
/ 08 февраля 2012

Когда вы наводите указатель мыши на ссылку на моем сайте, она отображает правильный URL-адрес, но как только вы нажимаете на нее, она добавляет #, который запрещает загрузку правильной страницы. Как отключить hashchange на моем сайте:

http://www.ogormanconstruction.co.uk/

<script type='text/javascript' src="/wp-content/themes/child/scripts/jquery-1.6.2.min.js"></script>
<script type='text/javascript' src="/wp-content/themes/child/scripts/jMaster.js"></script>
<script type='text/javascript' src="/wp-content/themes/child/scripts/supersleight.plugin.js"></script>
<script type="text/javascript" src="/wp-content/themes/child/scripts/hashchange.js"></script>
<script type="text/javascript" src="/wp-content/themes/child/scripts/actions.js"></script>
<script type="text/javascript" src="/wp-content/themes/child/scripts/tinyscroll.js"></script>

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>
</head>

<body <?php body_class(); ?>>

<div id="header">
            <ul id="nav">
                <li class="clearfix">
                    <div class="clearfix">
                        <div id="menuNav"><a href="javascript: void(0)" class="openNav">Menu</a></div>
                        <ul class='clearfix'><li><strong>O'Gorman Construction Ltd</strong><ul class='clearfix'><li><a href='/about-us'>About Us</a><li><a href='/contact'>Contact</a></li></li><li><a href='/work'>Work</a></li><li><a href='/recruitment'>Recruitment</a></li></ul></li><li><strong>Services</strong><ul class='clearfix'><li><a href='/site-logistics'>Labour Supply</a></li><li><a href='/waste-management'>Drainage</a></li><li><a href='/security-services'>Fencing</a></li><li><a href='/traffic-management'>Demolition</a></li></ul></li><li><strong>&nbsp;</strong><ul><li><a href='/multi-service-gangs'>Ground Works</a></li><li><a href='/facilities-accomodation'>Multiservice Gangs</a></li><li><a href='/small-works-maintenance'>Engineering</a></li><li><a href='/catering-services'>Water Treatment</a></li></ul></li></ul>
                    </div>
                    </div>
                </li>
            </ul>
            <a href="/" id="logo"></a>
        </div>

<h2>Work</h2>
<div class="leftCol">
<div class="rightCol gallery">
    <ul id="homeGallery">
<li id="prevControl"><a href="#">Previous</a></li>
        <li id="galleryItems">

                    <ul>

                    <li>
                        <div class="galleryImage"><img src='/wp-content/themes/child/images/1.jpg' /></div>
                        <div class="galleryText"><div class="leftCol noborder" style="text-align: left;"><strong>Project I</strong></div></div>
                    </li>

                    <li>
                        <div class="galleryImage"><img src='/wp-content/themes/child/images/2.jpg' /></div>
                        <div class="galleryText"><div class="leftCol noborder" style="text-align: left;"><strong>Project II</strong></div></div>
                    </li>

                    <li>
                        <div class="galleryImage"><img src='/wp-content/themes/child/images/4.jpg' /></div>
                        <div class="galleryText"><div class="leftCol noborder" style="text-align: left;"><strong>Project III</strong></div></div>
                    </li>

                    </ul>

        </li>

<li id="nextControl"><a href="#">Next</a></li>
        <li id="copyright">&copy; O'Gorman Construction Ltd</li>
    </ul>
</div>
</div>


    <div id="main">

Я думаю, что бит, который мне нужно отредактировать, находится в файле actions.js, но я не уверен, что мне нужно изменить

    $(window).hashchange();
});

function runSetups() {
    interceptLinks();
    setupHomeGallery();
    setupProjects();
    setupProject();
    setupNews();
    setupBackToTop();
    setupStickies();
}

function setupWindowEvents() {
    $(window).scroll(checkScrolling);

    $(window).hashchange(function () {
        var hash = location.hash;

        loadContent(hash.substr(1));
    });

    $(document).mousemove(function (event) {
        var mx = event.pageX;
        var my = event.pageY;

        if ($('#menuNav.open').length > 0) {
            if (my > $('#header').outerHeight() + 70) {
                $('#menuNav .closeNav').trigger('click');
                $('#menuNav').removeClass('open');
            }
        }
    });

1 Ответ

0 голосов
/ 08 февраля 2012

Ваша проблема заключается не в том, что ваш script.js, а в вашем action.js, куда ваш href загружается в эту функцию loadContent (url). Ваш href будет затем преобразован в хеш-ссылку с location.hash. У вас есть несколько вариантов здесь ... вы можете либо удалить эту функцию, если вы ее не используете, либо заменить location.hash на window.location, либо просто изменить href, пропустив '/'.

Это действительно зависит от того, что вы хотите сделать.

...