无法从母版页访问脚本,但是从内容页面访问是正确的

时间:2013-06-19 13:09:09

标签: javascript html asp.net reference master-pages

因为服务器端的工作方式无关紧要。

母版页:

<head runat="server>  
    <script src="jquery/jquery-2.0.2.min.js" type="text/javascript"></script>
    <asp:ContentPlaceHolder ID="PageHeadPlaceHolder" runat="server">
    </asp:ContentPlaceHolder>
</head>

内容页面:

<asp:Content ContentPlaceHolderID="PageHeadPlaceHolder" Runat="Server">
<link href="prettyPhoto315/css/prettyPhoto.css" type="text/css" rel="stylesheet" />
<script src="prettyPhoto315/js/jquery.prettyPhoto.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript" language="javascript">
    $(document).ready(function () {
        $("a[rel^='prettyPhoto']").prettyPhoto({
        });
    });
</script>
</asp:Content>

虽然客户端找到 jquery-2.0.2.min.js ,但无法执行$(document).ready...
'$ reference未定义'


我试过:

  1. 当我将<script src="jquery/jquery-2.0.2.min.js" type="text/javascript"></script>移动到内容页面时......一切正常。

  2. 使用<script src="~/jquery/jquery-2.0.2.min.js" type="text/javascript"></script>
    根本找不到该脚本。

  3. 如果我将<link href="prettyPhoto315/css/prettyPhoto.css" type="text/css" rel="stylesheet" />移到母版页上,页面也不会显示特定的样式表。

  4. 检查输出HTML时,按正确的顺序看起来都是正确的。 我将输出HTML上传到http://pastebin.com/ULi228BF

  5. 请尽快帮助。感谢。

2 个答案:

答案 0 :(得分:1)

通过将jQuery文件从“解决方案资源管理器”窗口拖到标记的代码视图,在主页面中以声明方式执行此操作。然后查看它是否有效并比较两个版本的路径。

答案 1 :(得分:-1)

GOT IT! OMG KNEW这是不应该的事情 IrishChieftain的帖子让我再次测试页面,发现了问题!

我使用的jquery.magnifier.js库显然与jQuery 1.6+不兼容 由于某种原因,正在打破jQuery脚本

因此:

<script src="jquery/jquery-2.0.2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="windowfiles/dhtmlwindow.js"></script>
<script type="text/javascript" src="jquery.magnifier.js"></script>
<script type="text/javascript"> $(document).ready(); </script>

不会工作......
while:

<script src="jquery/jquery-1.3.6.min.js" type="text/javascript"></script>
<script type="text/javascript" src="windowfiles/dhtmlwindow.js"></script>
<script type="text/javascript" src="jquery.magnifier.js"></script>
<script src="jquery/jquery-2.0.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> $(document).ready(); </script>

确实!

希望有人可以利用这些信息 并感谢您的帮助。