部分javascript未运行

时间:2017-07-20 04:05:46

标签: javascript sfdc

下面的JS运行相应,但它永远不会击中最后一个函数(showAllTabIdRedirect)。知道为什么吗?这是我的语法吗?我正在尝试运行第一个抓取主标签ID的函数,然后使用它来传递其他一些函数。最后,我会重定向用户以及刷新特定选项卡。

    <script>
        
         function refreshDetailsTab() {
            sforce.console.getEnclosingPrimaryTabId(focusDetailSubtabRedirect);
            
            var formsId;
            
            var currentUrl = window.location.href;

            if (currentUrl) {
                formsId = currentUrl.split('?formId=')[1];
            } else {
                return;
            }
            
            window.location = '/' + formsId;
            debugger;
                         
         };
         
         sforce.console.getEnclosingPrimaryTabId(focusDetailSubtabRedirect);
         
        var focusDetailSubtabRedirect = function showTabIdRedirect(result) {
            // window.onload = function showTabIdV1(result) {
            //alert('2222');
            var primaryTabID = result.id;
            
            sforce.console.getSubtabIds(primaryTabID , showAllTabIdRedirect);
            debugger;
        }

         var showAllTabIdRedirect = function showAllTabIdRedirect(result2) {
            // alert('33333');
            var firstSubTab  = result2.ids[0];
            
            sforce.console.refreshSubtabById(firstSubTab, false);
            debugger;
            //alert('Subtab IDs=====: ' + result.ids[0]);
        }; 
                    
    window.onload = refreshDetailsTab;
    
    </script>  

2 个答案:

答案 0 :(得分:0)

您可以检查这些方法的成功完成情况。可能的&#39; getSubtabIds&#39;由于某种原因暂停,这将导致调用回调函数失败&#39; showAllTabIdRedirect&#39;。

See the documentation here for getSubtabIds

答案 1 :(得分:0)

我认为这与window.location首先触发有关。它会在其他JS加载之前重定向用户。