JavaScript IE问题

时间:2012-08-04 14:46:40

标签: javascript jquery

我有以下网站: 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');
        }
    });            
});

2 个答案:

答案 0 :(得分:1)

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

请详细说明代码示例以及您遇到的问题。

修改:您的html不在正文标记

<!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切换为OverviewServices类,则应该能够将javascript简化为某种内容像这样:

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

    $('.show').removeClass("activeLink");
    $(this).addClass("activeLink";
});

答案 1 :(得分:1)

概览链接上的href有一个空字符串。因此,它试图“跟随”那个显然不存在的href