先看源代码:

<!DOCTYPE HTML>
<html>
<head><title></title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><!--If you change the scaling here, dont forget to change it at sap.client.controls.core.Application.prototype._adjustViewPort as well--><meta name="viewport" content="width=device-width, minimum-scale=1.25, maximum-scale=1.25"/><script src="resources/sap-ui-cachebuster/sap-ui-core.js" type="text/javascript"id="sap-ui-bootstrap"data-sap-ui-libs="sap.ui.layout, sap.ui.commons"data-sap-ui-preload="async"data-sap-ui-xx-bindingSyntax="complex"data-sap-ui-theme="skyline" ></script><script type="text/javascript" id="sap-client-application"data-sap-client-gitCommitId="ef2e7f1c05c452bf6236641fc226cea497b68e0e"data-sap-client-mavenArtifactVersion="SNAPSHOT version" data-sap-client-buildTimestamp="254" data-sap-byd-debugMode="false"data-sap-client-language="en"data-sap-client-application-name="SAP Business ByDesign"src="resources/sap/client/ApplicationStarter.js"></script><script>jQuery.sap.require("sap.client.thirdparty.jqueryui.jquery-ui-min");</script><style type="text/css">html, body {height: 100%;margin: 0;padding: 0;}</style><!-- make myself the window owner for 1308!--><style type="text/css"> html{display : none ; } </style><script type="text/javascript">if (self == top) {document.documentElement.style.display = 'block';} else {top.location = self.location;}</script></head>
<body class="sapUiBody" role="application">
<div id="content" style="height: 100%"></div>
</body>
</html>

这个index.html加载的请求url:

https://sap/public/ap/ui/repository/SAP_UI/HTML5/client.html?app.component=/SAP_UI_CT/Main/root.uiccwoc&rootWindow=X&redirectUrl=/sap/public/byd/runtime

因为Cloud for Customer的UI也是基于UI5框架实现的,故接下来需要加载sap-ui-core.js:

https://sap/public/ap/ui/repository/SAP_UI/HTML5/resources/sap-ui-cachebuster/sap-ui-core.js

使用document.write动态加载新的jscript标签:

下面这段代码是SAP UI5里对调试版本的JavaScript文件的加载实现:

client.html?app…i/byd/runtime UIArea-dbg.js?eva sap-ui-core.js sap-ui-core.js:formatted jquery.sap.global-dbgjs × |>window [“sap-ui-debug”] = vDebugInfo =vDebugInfo I1 true;
56957057357257574575570575755798058158583
if (window[“sap-ui-optimized”] && vDebugInfo ) {// if current sources are optimized and any debug sources should be used, enable the “-dbg” suffixindow [“sap-ui-loaddbg”] = true;11 if debug sources should be used in general, restart with debug URif (vDebuginfo === true ) {var sDebugurl =_oBootstrap.url.replace(八/(?:sap-ui-cachebuster/)? ([^/]+).js/, “/$1-dbg.js”);window [“sap-ui-optimized”] = falseHocument.write("<script type=“text/javascript” src="" + sDebugurl + “”");var oRestart =new Error ("This is not a real error. Aborting UI5 bootstrap and restarting from: " + sDebugurl);oRestart.name = “Restart”:throw oRestart;

WorkCenter
WorkCenterModel
ComponentModel
sap/client/nav
then a http post: https://sap/ap/ui/json

然后是一个HTTP post请求:

{"fuba":{"name":"00163E01065F02DE83D0F2780D8BC056","imports":{"IV_CACHE_KEY":"E$BC135D2FF914825F2728E7B636C5828F3DDD078C$X","IV_WOC_SEQ":true,"IV_INCLUDE_CC":true,"IV_INCLUDE_INV":false,"IV_WITH_COMMON_TASKS":"X"}}}

https://sap/ap/ui/json?app.component=/SAP_UI_CT/Main/root.uiccwoc&h=47078d04baa8890e992100506a0f3276&g=b0181c02b0aec5337da81f77b15fbb85
FM_MASS_CHECK_RAW_CACHE_KEY

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

Cloud for Customer的主页加载逻辑相关推荐

  1. Cloud for Customer元数据的加载

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  2. Cloud for Customer的设置加载机制

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  3. SAP Fiori element框架template的框架加载逻辑

    本文介绍SAP Fiori element框架template的框架加载逻辑. Created by Wang, Jerry, last modified on Dec 13, 2016 要获取更多J ...

  4. (16) Node.js 模块的加载逻辑

    一.按照组织方式划分模块 文件模块:是我们上一章节说过的,就是一个独立的.js文件. 目录模块:是我们可以将多个独立的.js文件统一存放在一个目录下,也就是放到一个文件夹中. 二.目录模块的加载逻辑 ...

  5. 解决Pr cc 2019主页加载不出来的问题

    打开Pr cc 2019后,主页一直加载不出来,使用修复软件修复即可 修复后: 该修复软件可以修复Adobe系列软件2019和2020版本的主页加载不了的问题 修复软件下载

  6. mysql驱动如何编写_解读MySQL驱动加载逻辑

    解读MySQL驱动加载逻辑 我们很早之前就知道最基础的JDBC编写,先执行Class.forName方法,加载MySQL驱动.但是为什么加载过驱动后,后续的接口层的调用就会自动切换到MySQL的相关代 ...

  7. play 1.2.4的action执行前后的加载逻辑

    --杂言:最近在整理这一年的笔记,打算慢慢温故一遍,然后搬到博客里头来.这篇是2013.06.18时候整理的关于action执行前后的一些载入先后顺序逻辑.我的理解可能有偏差,如果有错误的,请读者们及 ...

  8. vue项目 登陆逻辑 和 页面加载逻辑

    最近修改了俩个vue项目登陆逻辑,摸摸摸,三改四改,总结了一些思路: 文章目录 首先,理清好思路 1.什么样的情况下是登陆状态(初始化加载 => App.vue) 2. 没有登陆的情况下,项目的 ...

  9. Spring Cloud Alibaba - 09 Ribbon 饥饿加载及其他配置参数解读

    文章目录 解决Ribbon 第一次调用耗时高的配置 超时时间相关参数 并发参数 重试 源码 解决Ribbon 第一次调用耗时高的配置 开启饥饿加载 # ribbon 饥饿加载 解决第一次耗时多的问题 ...

最新文章

  1. 新服务器安装和配置zabbix的playbook
  2. CSS3中的动画示例
  3. C语言STATIC用法
  4. java 定义和导入包
  5. pcl的初步使用(ROS)
  6. Python爬虫基础:验证码的爬取和识别详解
  7. c语言for嵌套循环语句,关于for嵌套循环语句的疑问
  8. IO流(八)之InputStreamReader类与OutputStreamWriter类
  9. 关于今日头条小程序(字节跳动小程序)相关问题
  10. python time用法
  11. TeaVM辛辛苦苦编译出的wasm,浏览器中不能跑
  12. 智能合约语言Solidity教程系列2 - 地址类型介绍
  13. Android 拦截音量键并屏蔽系统的音量调节
  14. php源码比赛,TSRC挑战赛: PHP防御绕过挑战实录
  15. NBA球员数据爬虫练习
  16. Hive 统计连续天数
  17. 阿里云OCR本地图片文字识别
  18. 文件上传控件-如何上传文件-大文件断点续传
  19. 赛扬处理器_【推仔说新闻】Intel 奔腾和赛将处理器即将支持傲腾产品
  20. matlab仿真磁滞回线,磁滞回线测量方法及Simulink仿真分析研究.pdf

热门文章

  1. css 的小细节,小总结
  2. C#中的where泛型约束中的new()使用(转)
  3. python爬虫-urllib模块
  4. Python实现PLA(感知机)
  5. 使用富文本OHAttributedLabel
  6. URAL1204. Idempotents(扩展欧几里得)
  7. Oracle RMAN Recover中使用BBED 跳过缺失的归档 继续 Recover 的测试
  8. 简单介绍下我使用了一年多还不知道的Sql server 2005 组件知识
  9. 使用iOS手势UIGestureRecognizer
  10. 智慧海洋建设TOP方案借鉴学习与整理