2

我使用 MVC 2 框架并添加了一些用于扩展 div 的 javascript。它在 firefox、chrome、opera 和 safari 中运行良好,但在 Internet Explorer 中运行良好。我收到“预期对象”错误。这是我的代码

jquery 导入在 site.master 文件中

 <head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />   
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" charset="utf-8"></script>

Javascript,在 mvc 视图中:测试警报出现在 IE 中,但 test2 没有。

   <script type="text/javascript">
    alert("test");

    $(document).ready(function () {
        alert("test2");
        $(".expandingcontent").hide();

        $(".divexpand").click(function () {
            var divID = "#" + $(this).attr("id").substring(6);
            if ($(divID).is(":hidden")) {
                $(divID).slideDown("slow");
            } else {
                $(divID).hide();
            }
        });
    });
</script>     

我尝试将 javascript 放在页面的开头,最后似乎没有任何效果。我也尝试过使用超时,但也没有成功。我正在使用 IE 8,非常感谢任何帮助谢谢!

4

4 回答 4

3

您对 Google CDN 资源的引用是错误的,尤其是在您的网站使用 SSL 的情况下。
像这样更改您的参考,它应该可以工作。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

这是因为,

阅读起来并不轻松,但 RFC 3986 的第 4.2 节提供了完全限定的 URL,它们完全省略了协议(HTTP 或 HTTPS)。当省略 URL 的协议时,浏览器将使用底层文档的协议。

Dave Ward 解释了更多:用单个字符削弱 Google CDN 的缓存

PS:最好用谷歌CDN,加上本地回退资源,以防CDN加载失败

于 2011-03-25T13:14:28.957 回答
2

可能是由于无法加载 jquery.js 造成的?尝试下载它并将其作为本地资源。

于 2011-03-25T09:43:48.380 回答
1

确保在执行 $(document).ready 函数之前包含 jquery 脚本文件。

于 2011-03-25T09:45:16.813 回答
1

就我而言,我在 JS 中有一个无关的 console.log,它悄悄地在 IE 中中断了。这很令人困惑,因为当我启用 IE 开发人员工具时,它神奇地开始工作。无论如何,也检查一下。

于 2013-03-20T18:45:56.430 回答