pjax不能加载页面中的<script>

page1.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>

<html>
<head>
    <title>Title</title>
    <script type="text/javascript" src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
    <script src="${ctx}/assets/js/jquery.pjax-1.8.2.min.js"></script>


</head>
<body>
<div id="main">
    <a href="/test/pjax1">p1</a>
    <a href="/test/pjax2">p2</a>
    111111111111111111111111111111

    <%--ztree--%>
    <ul id="treeDemo" class="ztree"></ul>


    <script src="${ctx}/assets/zTree_v3/js/jquery.ztree.core.js"></script>
    <link rel="stylesheet" href="${ctx}/assets/zTree_v3/css/zTreeStyle/zTreeStyle.css" type="text/css">

    <SCRIPT LANGUAGE="JavaScript">
        var zTreeObj;
        // zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)
        var setting = {};
        // zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)
        var zNodes = [
            {name:"test1", open:true, children:[
                {name:"test1_1"}, {name:"test1_2"}]},
            {name:"test2", open:true, children:[
                {name:"test2_1"}, {name:"test2_2"}]}
        ];

        $(document).on('pjax:end', function() {
            // 这里的调用 **只有** 在「局部刷新」时才会运行
            zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
        });


        zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);

    </SCRIPT>
</div>

<script type="text/javascript">
    $(document).pjax('a[target!=_blank]', '#main', {
        fragment: '#main',
        timeout: 8000
    });

</script>
</body>
</html>

page2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script type="text/javascript" src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
    <script src="${ctx}/assets/js/jquery.pjax-1.8.2.min.js"></script>


</head>
<body>
<div id="main">
    <a href="/test/pjax1">p1</a>
    <a href="/test/pjax2">p2</a>
    aaa2222222222222
</div>

<script type="text/javascript">
    $(document).pjax('a[target!=_blank]', '#main', {
        fragment: '#main',
        timeout: 8000
    });
</script>
</body>
</html>

浏览器输入page1 url回车后,可以看到page1中的ztree。
浏览器输入page2 url回车,点击page2页面中的page1链接,则无法看到ztree。page1中的jquery.ztree.core.js并未加载。

问题:怎么样才能从浏览器输入page2,点击page1连接后 page1页面<script>能正常加载?

阅读 2.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题