如何使用@ run-at document-start元规则

时间:2014-08-11 07:15:12

标签: javascript jquery ajax liferay liferay-aui

我正在使用

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>

1 个答案:

答案 0 :(得分:0)

您将此jQuery调用放在<aui:script>块中。因为它不使用过于花哨的jQuery功能,所以在AlloyUI中实现它不是更容易吗?查看Rosetta Stone,了解两者之间的简单翻译。

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