jquery load() 方法不起作用 - IE8

发布于 2024-12-01 20:01:39 字数 2197 浏览 2 评论 0原文

所以现在已经摆弄这个有一段时间了,但仍然没有运气。 我尝试过更改 jquery 版本,尝试执行整个 var $j = jQuery.noConflict();,尝试重新排列 JS/jquery 脚本,尝试 jquery 网站建议的无缓存操作,但仍然是我的 < code>load() 在 IE8 上不起作用。

<a onclick="loadCont('canyou.php');">Can you help us</a>


function loadCont(file){
$j("#maincont").load(file);
alert(file);
return false;
}

与往常一样,它可以在除 IE8 之外的所有其他浏览器上加载。 alert() 用于 IE8 调试,文件已成功传递到服务器,状态为 200(使用 Fiddler2 检查),只是未加载到 #maincont 我尝试了不同的方法,例如:

$j.ajaxSetup ({
            // Disable caching of AJAX responses
            cache: false
    });

    // Bind ajax call to click
    $j('a.loadlink').click(function(e) {
            $j('#maincont').load($j(this).attr('href') + ' #filecont');  // Dynamically load content from URL in href
            e.preventDefault();
    });

并注释掉我所有其他 JS 外部包括“styleswitcher.js 和 formcheck.js”。我知道 jQuery 工作正常,因为我使用 jQuery 下拉菜单。目前,我当前的代码如下所示,在其他所有浏览器上都可以正常工作......

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">var $j = jQuery.noConflict();</script>

<script type="text/javascript">

$(document).ready(function(){
        $j("#mcfrnav li").hover(
            function(){ $j("ul", this).fadeIn("fast"); }, 
            function() { } 
        );
    if (document.all) {
            $j("#mcfrnav li").hoverClass ("sfHover");
        }

    $j.fn.hoverClass = function(c) {
        return this.each(function(){
            $j(this).hover( 
                function() { $j(this).addClass(c);  },
                function() { $j(this).removeClass(c); }
            );
        });
    };    
    });

function loadCont(file){
$j("#maincont").load(file);
}

</script>

 <script src="styleswitcher.js" type="text/javascript"></script> 
 <script src="formcheck.js" type="text/javascript"></script>

<script type="text/javascript">

function imgError(id){
id.src = "photos/noimg.png";
id.onerror = "";
return true;
}

</script>

有关代码或回复的所有或任何帮助表示赞赏。非常感谢所有的回复。

编辑:仍在寻找解决方案:(

So been fiddling around with this for a while now but still no luck.
I've tried changing jquery versions, tried doing the whole var $j = jQuery.noConflict();, tried rearranging JS/jquery scripts, tried the no caching thing suggested by jquery website but still my load() doesn't work on IE8.

<a onclick="loadCont('canyou.php');">Can you help us</a>


function loadCont(file){
$j("#maincont").load(file);
alert(file);
return false;
}

As always it loads on every other browser except IE8. The alert() is there for IE8 debugging, and the file is passed successfully to the server with status 200 (checked with Fiddler2), its just not loaded into #maincont
I've tried different methods such as:

$j.ajaxSetup ({
            // Disable caching of AJAX responses
            cache: false
    });

    // Bind ajax call to click
    $j('a.loadlink').click(function(e) {
            $j('#maincont').load($j(this).attr('href') + ' #filecont');  // Dynamically load content from URL in href
            e.preventDefault();
    });

And commenting out all my other JS externel includes "styleswitcher.js and formcheck.js". I know the jQuery is working correctly as I use a jQuery drop down menu. At the moment my current code looks like this, which works fine on every other browser....

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">var $j = jQuery.noConflict();</script>

<script type="text/javascript">

$(document).ready(function(){
        $j("#mcfrnav li").hover(
            function(){ $j("ul", this).fadeIn("fast"); }, 
            function() { } 
        );
    if (document.all) {
            $j("#mcfrnav li").hoverClass ("sfHover");
        }

    $j.fn.hoverClass = function(c) {
        return this.each(function(){
            $j(this).hover( 
                function() { $j(this).addClass(c);  },
                function() { $j(this).removeClass(c); }
            );
        });
    };    
    });

function loadCont(file){
$j("#maincont").load(file);
}

</script>

 <script src="styleswitcher.js" type="text/javascript"></script> 
 <script src="formcheck.js" type="text/javascript"></script>

<script type="text/javascript">

function imgError(id){
id.src = "photos/noimg.png";
id.onerror = "";
return true;
}

</script>

All or any help about the code or replies appreciated. Many thanks to all replies.

EDIT: Still looking for a fix for this :(

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朕就是辣么酷 2024-12-08 20:01:39

如果我没记错的话,您正在使用基于 mootools javascript 的 formcheck.js 。请将您的 jQuery 文件放在上面并尝试。
您可以做的另一件事是,您可以直接 jQuery,而不是创建不冲突的对象。我在同一页面中使用了 formcheck 和 jQuery。请参考 http://www.mymegaenergy.com/enrollments 它应该可以工作如果你做这些事情就好了。

You're using formcheck.js its based on mootools javascript if I'm not wrong. Please put your jQuery file on top and try.
Another thing you can do is instead of creating no conflict object you can directly jQuery. I've used formcheck and jQuery in a same page. Please refer http://www.mymegaenergy.com/enrollments It should work fine if you do these things.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文