0

我有以下网站: http ://webofdreams.ro/vworker/finemaid/finemaid.html

它存在一些 java 脚本(jquery 172)问题: 在 IE9 中加载时,它将转到服务器文件夹而不是加载索引页面。在 ie7+ 中,当单击服务选项卡,然后再次单击概览选项卡时,它会执行相同的操作。它似乎也时不时地抛出随机错误。jquery和IE7、8、9有什么不兼容的地方吗?编码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
    <script type="text/javascript" src="js2/jquery-1.7.2.min.js"></script>    
    <script type="text/javascript" src="js2/custom3.js"></script>
</head>
       <div class="main">
            <div class="contentNav clearfix">
                <ul class="secondaryNav">
                    <li><a id="activeLink" class="show1 navButton left" href="">Overview</a></li>
                    <li><a class="show2 navButton">Services</a></li>
                   </ul>
            </div>
            <div class="primaryContent clearfix">                   
                <div class="container clearfix">
                    <div  class="container1"> 
                        <h1>      
                            Fine Maid<br />                    
                             Bay C1 - 3911 Brandon St. S.E.<br />
                            Calgary, AB., T2G 4A7<br />                                                
                            (403) 454-5526<br />
                            For more information visit us at <a href=" http://www.finemaid.com/contact.php" title="Finemaid homepage" class="mainLink">www.finemaid.com</a>           
                        </h1>                    
                        <p class="clearfix">Fine Maid offers a fresh approach to the concept of Residential and Office Cleaning. Very openly, the company offers a variety of cleaning packages with fixed prices (which is something that many other major companies shy away from advertising on their websites). For custom cleaning projects or long-term janitorial cleaning contracts, Fine Maid will provide custom quotes upon consolations with prospective clients and visits to sites.</p>
                        <p>Many household are paying increased attention these days to their cleaning products used. Fine Maid offers residential cleaning services using – at customer's discretion – their eco friendly, scent-free, hypo-allergenic, and environmentally responsible cleaning products.
Fine Maid website provides a wealth of information regarding Government issued recall alerts, other advisory and useful content. For more information<a href="http://www.finemaid.com/useful_resources.php" target="_blank" title="More Info" class="mainLink"> visit here.</a></p>
                        <p>Booking your next cleaning appointment with Fine Maid can not be easier: for any of the fixed-priced residential / office cleaning packages, the website provides a step-by-step booking process (similar to an airline travel booking), allowing customers to book their preferred date and time for when the cleaning person or crew should arrive to their address to perform the cleaning tasks clearly stated in each package's description (which we recommend customers to read, for better understanding of what's included in a package and what not).</p>
                        <p>Fine Maid has clear-stated policies, and the "what happens if" is explained in great detail, giving customers peace of mind. You can book your next cleaning appointment in confidence with Fine Maid in Calgary and area!</p>         
                    </div>
                    <div class="container2">
                        <ul class="services">
                            <li>cleaning services Calgary </li>
                            <li>residential cleaning Calgary </li>
                            <li>office cleaning Calgary  </li>
                            <li>Calgary cleaning companies </li>
                            <li>cleaning Calgary</li>
                            <li>commercial cleaning Calgary</li>
                            <li>home cleaning Calgary</li>
                            <li>cleaning Calgary services</li>
                            <li>residential cleaning</li>
                            <li>Calgary cleaning services</li>
                            <li>Maid service Calgary</li>
                            <li>Calgary cleaning company</li>
                            <li>quality cleaning services </li>
                            <li>professional cleaning services Calgary</li>
                        </ul>
                        <ul class="services">
                            <li>eco cleaning services</li>
                            <li>house cleaning Calgary</li>
                            <li>eco cleaning services Calgary</li>
                            <li>condo cleaning Calgary</li>
                            <li>scent-free cleaning products Calgary</li>
                            <li>hypo-allergenic cleaning products Calgary</li>
                            <li>environmentally responsible cleaning products Calgary</li>
                            <li>Calgary cleaning</li>
                            <li>Janitorial services Calgary</li>
                            <li>Carpet cleaning Calgary</li>
                            <li>quality cleaning services Calgary</li>
                            <li>Maid Calgary</li>
                        </ul>
                    </div>
                </div>
                </div>
<body>
</body>
</html>

custom3.js

//show hide the main div 1 and 2 content
$(document).ready(function() {
    $('.show1').click(function(){
        if ($('.container1').is(':visible')){
            return
        }
        else { $('.container1').show()
            $('.container2').hide(); 
            $('.show1').attr('id', 'activeLink');
            $('.show2').removeAttr('id', 'activeLink');
        }
    });

    $('.show2').click(function(){
        if ($('container2').is(':visible')){
            return
        }
        else { $('.container2').show();
            $('.container1').hide();
            $('.show2').attr('id', 'activeLink');
            $('.show1').removeAttr('id', 'activeLink');
        }
    });            
});

​ ​</p>

4

2 回答 2

1

我在不同版本的 IE 之间没有任何与 jquery 的兼容性问题。jQuery 团队在使 jquery 与所有浏览器兼容方面做得非常出色。问题很可能出在您的 javascript 本身。IE 因其处理 javascript 的问题而臭名昭著。

请更具体地说明代码示例以及您遇到的问题。

编辑:您的 html 在 body 标记之外

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
    <script type="text/javascript" src="js2/jquery-1.7.2.min.js"></script>    
    <script type="text/javascript" src="js2/custom3.js"></script>
</head>
<body>
     Content should go here
</body>
</html>

编辑

在链接的 href 中,您应该放置javascript:void(0). 这将阻止链接尝试访问服务器。此外,如果您将两个链接切换为具有相同的类show并将您的内容 div 切换为具有 and 的类OverviewServices您应该能够将您的 javascript 简化为如下所示:

$('.show').click(function() {
    if($(this).html() == "Overview") {
        $('.Sevices').hide();
        $('.Overview').show();
    }
    else {
        $('.Overview').hide();
        $('.Sevices').show();
    }

    $('.show').removeClass("activeLink");
    $(this).addClass("activeLink";
});
于 2012-08-04T14:55:16.197 回答
1

href概述链接上有一个空字符串。所以,它试图“跟随”那个href,这显然不存在。

于 2012-08-04T15:10:08.227 回答