IBM Worklight v 5.0.6 - Не удается перемещаться по нескольким страницам в среде Windows Phone 7.5
Привет, у меня проблемы с разработкой приложений WP 7.5 в IBM Worklight v 5.0.6. Я использовал MultiPageApp Project изftp://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v506/wl_gs_all_samples.zip для моего эксперимента.
У меня было много проблем:
Первая проблема
Я создал среду WP 7.5 в рабочем режиме без редактирования кода. Затем я запускаю его в MS Visual Studio 2012 с эмулятором 7.1 256MB. Проблема только в том, что появилось содержимое из MultiPageApplication.html.
MultiPageApplication.html
<!DOCTYPE html>
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" name="viewport">
<title>MultiPageApplication</title>
<link href="wlclient/css/wlclient.css" rel="stylesheet">
<link href="images/favicon.png" rel="shortcut icon">
<link href="images/apple-touch-icon.png" rel="apple-touch-icon">
<link href="css/MultiPageApplication.css" rel="stylesheet">
<script>
// Define WL namespace.
var WL = WL ? WL : {};
/**
* WLClient configuration variables.
* Values are injected by the deployer that packs the gadget.
*/
WL.StaticAppProps = {
"APP_DISPLAY_NAME": "MultiPageApplication",
"APP_SERVICES_URL": "http:\/\/169.254.17.188:8080\/apps\/services\/",
"APP_VERSION": "1.0",
"ENVIRONMENT": "windowsphone",
"LOGIN_DISPLAY_TYPE": "embedded",
"WORKLIGHT_ROOT_URL": "http:\/\/169.254.17.188:8080\/apps\/services\/api\/MultiPageApplication\/windowsphone\/"
};</script>
<script src="wlclient/js/cordova.js"></script>
<script src="common/js/wljq.js"></script>
<script src="common/js/base.js"></script>
<script src="wlclient/js/messages.js"></script>
<script src="common/js/wlcommon.js"></script>
<script src="wlclient/js/diagnosticDialog.js"></script>
<script src="wlclient/js/deviceAuthentication.js"></script>
<script src="wlclient/js/window.js"></script>
<script src="wlclient/js/worklight.js"></script>
<script src="wlclient/js/wlclient.js"></script>
<script src="wlclient/js/wlfragments.js"></script>
<script src="wlclient/js/encryptedcache.js"></script>
<script src="wlclient/js/jsonstore/jsonstore.js"></script>
<script src="wlclient/js/challengeHandlers/antiXSRFChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/authenticityChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/deviceAuthAutoProvisioningChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/deviceAuthNoProvisioningChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/remoteDisableChallengeHandler.js"></script>
<script src="wlclient/js/wlgap-wp7.js"></script><script>window.$ = window.jQuery = WLJQ;</script>
</head>
<body id="content" style="display: none">
<div id="AppBody">
<!-- This is static header, it will be shown always -->
<div id="header">
<h1>Multi page app</h1>
</div>
<!-- This is a placeholder for dynamic page content -->
<div id="pagePort"></div>
</div>
<script src="js/initOptions.js"></script>
<script src="js/MultiPageApplication.js"></script>
<script src="js/messages.js"></script>
</body>
</html>
MultiPageApplication.js
var pagesHistory = [];
var currentPage = {};
function wlCommonInit(){
$("#pagePort").load("pages/MainPage.html", function(){
currentPage.init();
});
}
Наконец я решаю эту проблему, изменив URL API загрузки jquery (вручную в MS Visual Studio 2012) с
$("#pagePort").load("pages/MainPage.html",
в
$("#pagePort").load("default/pages/MainPage.html",
Хотя код работает, другая проблема
Файлы в native / www регенерируются каждый раз при сборке приложения, поэтому любые изменения, внесенные в эти файлы, теряются.
Что я должен сделать, чтобы правильно сгенерировать URL?
Вторая проблема
Когда я хочу перейти на страницу из MainPage.html в Page1.html, нажав кнопку «Загрузить страницу1»,
Page1.html не будет загружаться, потому что метод 'init' в MultiPageApplication.js не работает. И я получил эту ошибку из выходного журнала в MS Visual Studio 2012:
Log:"Error in error callback: File564653615 = TypeError: Object doesn't support property or method 'init'"
Я попытался изменить jQuery, встроенный в Worklight, с помощью jQueryMobile jquery-1.9.1.min.js и jquery.mobile-1.3.2.min.js, но возникла та же проблема.
Итак, как мне решить эту проблему? Это потому, что jQuery, встроенный в Worklight, не работает в Visual Studio?
Спасибо