【问题标题】:I want to include everything from my main page except one js file ..我想包含我主页中的所有内容,除了一个 js 文件..
【发布时间】:2011-07-29 04:01:48
【问题描述】:

我有一个用例,我想在我的页面 list.gsp 中包含我的 main.gsp 文件,这很容易实现

<meta name="layout" content="main"/>

但问题是它有 jQuery 1.6 版本,但我想要一个名为 jquery.js 的文件的替代品,当我将它包括在内时,除了主布局之外,它还存在冲突并产生问题.. 喜欢

<script type="text/javascript" src="${resource(dir: 'js/jquery', file: 'jquery.js')}"></script>

以上方法不起作用,所以我认为要么手动区分要包含在我的 list.gsp 页面上的文件,要么有办法包含除此 jQuery1.6 之外的 main.gsp 页面上的所有内容。 js文件??

我愿意接受任何其他建议.. 提前致谢

【问题讨论】:

    标签: javascript jquery grails


    【解决方案1】:

    一种肮脏的方法可能是将脚本导入放入检查页面属性的 if 块中,并在您的 list.gsp 中设置该属性。

    在 list.gsp 中:

    <body fooProperty="1">
    

    在 main.gsp 中:

    <g:if test="${pageProperty(name:'body.fooProperty) ?: false}">
    <%--includes you want for list.gsp here--%>
    </g:if>
    <g:else>
    <%--normal script link -%>
    </g:else>
    

    在您获得的每个页面加载时强制执行 if/else,但没有很多其他方法可以做到这一点。可能是设置一个隐藏的页面属性并编写一个加载器来覆盖 javascript 本身中的 1.6 导入。

    【讨论】:

      【解决方案2】:

      放入你的 main.gsp

      ${if(!params.jqueryVersion) params.jqueryVersion=''}
      <script type="text/javascript" src="${resource(dir: 'js/jquery', file: 'jquery${params.jqueryVersion)}.js')}"></script>
      

      在你的列表控制器中返回

      [myInstancesList:list, jqueryVersion:'-1.4.2']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-22
        相关资源
        最近更新 更多