【问题标题】:how to use the @run-at document-start meta-rule如何使用@run-at document-start 元规则
【发布时间】:2014-08-11 07:15:12
【问题描述】:

我正在使用

Jquery(window).load(function(){
          // here is my code to make AJAX request to fetch data from DB
}); 

但它无法在 Chrome 中运行。为此,当我在论坛中搜索时,我从这个link得到了在你的脚本中使用@run-at document-start 元规则的解决方案@

但我不知道如何实现它。可以举一个例子吗?

这是我的实际代码:

<aui:script>
    function getBacklogData() {
        alert('getBacklogData');
        try{
            var url = '<%=resourceURL %>';
            var A = AUI();
            A.io.request(url,
            {
            data:{
                <portlet:namespace  />CMD:'Backlog',
            },
            type: "POST",
            dataType:'json',
            on: {
                success: function(event, id, obj) {
                    var instance = this ;
                    var data = instance.get('responseData');
                    for (var j=0; j < data.length; j++) {
                        var backlog_id=data[j].backlog_id;
                        var title=data[j].title;
                        var feature_id=data[j].feature_id;
                        var vision_id=data[j].vision_id;
                        var description=data[j].description;
                        var status_id=data[j].status_id;
                        var priority_id=data[j].priority_id;
                        var rank=data[j].rank;
                        var isActive=data[j].isActive;
                        var created_by_id=data[j].created_by_id;
                        var created_on=data[j].created_on;
                        var modified_by_id=data[j].modified_by_id;
                        var modified_on=data[j].modified_on;
                        jQuery('#backlogDiv').append("<li index='"+backlog_id+"' title='"+title+"' id='backlogChild" +j+ "'  ><div class='page foldtl' ><table  style='width:100%'><tr><td style='border:1px solid black;margin-bottom:3px;'>"+title+"<img  src='<%=renderRequest.getContextPath()%>/img/priority.png'  title='"+priority_id+"' style='float: right;width: 15px;cursor:pointer'><img onclick='<portlet:namespace />viewBacklogDetails("+backlog_id+");' src='<%=renderRequest.getContextPath()%>/img/view.png' style='float: right;width: 15px;cursor:pointer' title='View Details'><img onclick='<portlet:namespace />editBacklogPopup("+backlog_id+");' src='<%=renderRequest.getContextPath()%>/img/editform1.png'  title='Edit Backlog' style='float: right;width: 15px;cursor:pointer'><br><img src='<%=renderRequest.getContextPath()%>/img/Flaticon_35767.png' style='float: left;width: 25px;'><span class='status'>"+status_id+"</span><img src='<%=renderRequest.getContextPath()%>/img/clock.png' style='float: left;width: 25px;margin-left: 15px;cursor:pointer'><span  class='status'>"+created_on+"</span><br></td></tr></table></div></li>");   
                    }
                }
            }
        });

        }catch(e){
            alert('error in getBacklogData : ' + e);
        }
    }

    jQuery(window).load(function(){

        getBacklogData();
        size_li = jQuery("#backlogDiv li").size();
        x=parseInt(document.getElementById('noOfRecords').value);
        setTimeout(function () {
            jQuery('#backlogDiv li:lt('+x+')').show();
        }, 500);
        alert('window.load() method');
    });
</aui:script>

【问题讨论】:

  • JS 区分大小写,所以你的第一行应该是:jQuery(window).load(function(){ - 注意jQ 的大小写

标签: javascript jquery ajax liferay liferay-aui


【解决方案1】:

您将此 jQuery 调用定位在 &lt;aui:script&gt; 块中。由于它没有使用太花哨的 jQuery 功能,所以在 AlloyUI 中实现它不是更容易吗?查看Rosetta Stone 了解两者之间的简单翻译。

另外,请确保您的页面确实包含 jQuery。或者使用 yQuery,它使 jQuery 在 YUI 和 AlloyUI 中可用。

【讨论】:

    猜你喜欢
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2019-10-15
    相关资源
    最近更新 更多