2014-09-01 5 views
3

В нашем приложении мы загружаем несколько библиотек SAPUI5. index.html имеет следующий код для загрузки SAPUI5 ресурсовКак загрузить ресурсы sapui5 в фоновом режиме

<script src="resources/sap-ui-cachebuster/sap-ui-core.js" 
     id="sap-ui-bootstrap" 
     data-sap-ui-libs="sap.ui.commons,sap.ui.table,sap.ui.ux3,sap.m" 
     data-sap-ui-theme="sap_bluecrystal" 
     data-sap-ui-appCacheBuster="./"> 

</script> 

В нашем web.xml мы упоминали https://sapui5.hana.ondemand.com как com.sap.ui5.resource.REMOTE_LOCATION для загрузки ресурсов.

Что мы наблюдаем, так это то, что приложение занимает очень много времени для загрузки в первый раз. А сетевые вызовы дают представление о том, что загрузка ресурсов UI5 занимает максимальное время. Есть ли способ быстрее загружать ресурсы UI5? или в фоновом режиме? Здесь действительно полезен совет или образец кода. Благодарю.

ответ

5

Вы можете загрузить ресурсы UI5 asynchronously. Используйте data-sap-ui-preload="async"

<script src="resources/sap-ui-cachebuster/sap-ui-core.js" id="sap-ui-bootstrap" 
     data-sap-ui-libs="sap.ui.commons,sap.ui.table,sap.ui.ux3,sap.m" 
     data-sap-ui-theme="sap_bluecrystal" 
     data-sap-ui-preload="async" 
     data-sap-ui-appCacheBuster="./"> 

Но вы должны задержать доступ к API, SAPUI5 с помощью attachInitEvent метода

var oCore = sap.ui.getCore(); 
oCore.attachInit(function() { 
    //do the needful 
}); 
+0

Могу ли я попросить 'на основе app' component.js, как изменить' async' – Tina

0

Вы пытаетесь загрузить слишком много в то время: sap.ui.commons,sap.ui.table,sap.ui.ux3,sap.m

Попробуйте загрузить только основные детали и остальные части в виде асинхронного метода, чтобы пользователь мог хотя бы увидеть какое-либо действие, прежде чем ждать о давно:

Синхронизировать

<script src="resources/sap-ui-cachebuster/sap-ui-core.js" id="sap-ui-bootstrap" 
    data-sap-ui-libs="sap.ui.commons,sap.m" 
    data-sap-ui-theme="sap_bluecrystal" 
    data-sap-ui-appCacheBuster="./"> 

АСИНХРОННЫЙ

<script src="resources/sap-ui-cachebuster/sap-ui-core.js" id="sap-ui-bootstrap" 
    data-sap-ui-libs="sap.ui.table,sap.ui.ux3" 
    data-sap-ui-theme="sap_bluecrystal" 
    data-sap-ui-preload="async" 
    data-sap-ui-appCacheBuster="./"> 
Смежные вопросы