【问题标题】:Grails - JavaScript Resource Module - onLoadGrails - JavaScript 资源模块 - onLoad
【发布时间】:2013-07-02 23:08:03
【问题描述】:

我设置了一个 grails 资源模块:

modules {
    myModule {
        resources url:'js/application.js'
        resources url:'js/helper.js'
    }
}

我可以使用<r:require ... /> 将其加载到我的 GSP 页面上。

问题

我希望在加载此脚本时触发一些 JS 代码。有没有办法做到这一点?

即使我可以通过 JS (script.onLoad) 做到这一点也没问题,但我只是不确定如何使用 grails 生成指向模块的链接。

【问题讨论】:

    标签: grails gsp


    【解决方案1】:

    您可以将您的模块包含在您的 GSP 页面中:

    <r:require modules="myModule" />
    

    您可以在页面加载时触发 js 文件中的任何 java 脚本函数。

    如果您的模块无法在 GSP 上加载,请尝试添加处置,即

    modules {
        myModule {
            resources url:'js/application.js', disposition: 'head'
            resources url:'js/helper.js', disposition: 'head'
        }
    }
    

    我认为将资源包含在视图页面上的更好方法是通过布局,我曾经这样做,在布局页面上添加所有资源,例如。布局->main.gsp

    在此页面上添加所有需要的资源:

    <r:require
        modules="myModule" />
    
    <g:layoutHead />
    <r:layoutResources />
    

    然后在应用程序中的所有 GSP 页面上,您都可以应用此布局,即

    <g:applyLayout name="main"/>
    

    并在脚本加载时调用任何 java 脚本代码(在包含的 js 文件上),我认为您应该将其与 gsp 页面上的 onload 事件相关联。

    【讨论】:

    • 很好,谢谢。我最终选择了“推迟”,但让它发挥了作用。
    猜你喜欢
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2016-09-30
    • 2012-02-02
    • 2012-04-11
    相关资源
    最近更新 更多