下面的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>
答案 0 :(得分:0)
您可以检查这些方法的成功完成情况。可能的&#39; getSubtabIds&#39;由于某种原因暂停,这将导致调用回调函数失败&#39; showAllTabIdRedirect&#39;。
答案 1 :(得分:0)
我认为这与window.location首先触发有关。它会在其他JS加载之前重定向用户。