[英]Why does calling the JavaScript 'alert();' function crash the app in Windows Phone when developing for Apache Cordova?
[英]Page Navigation on Windows Phone 8 using HTML/JavaScript/Apache Cordova
我在使用Windows Phone 8和Apache Cordova 3.0進行頁面導航時遇到一些問題。
我嘗試了不同的方法來解決此問題,但仍然無法正常工作。
起初,我嘗試使用表單導航到另一個頁面。
<form action="CreateUser.html" method="get">
<input class="buttons" name="btnCreateUser" type="submit" value="Create User" />
</form>
當我單擊按鈕時,找不到頁面。 CreateUser.html頁面位於同一目錄中。 如果我使用瀏覽器(Chrome / IE),則可以使用。
當我將操作更改為http://www.google.com時,兩個選項(瀏覽器和電話)均起作用。
我還嘗試使用JavaScript導航到另一個頁面。 這是我的代碼:
function get(httpUrl) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", httpUrl, true);
xmlHttp.send(null);
return xmlHttp.responseText;
}
現在,我使用按鈕的onclick =“ get(” CreateUser“)”事件,但沒有任何反應。 在瀏覽器和移動設備上。
對我唯一起作用的是window.location功能。 但似乎我無法以這種方式轉換下一頁上的信息。
在這兩個頁面之間導航並傳遞一些信息是否有任何機會?
還是我的代碼有問題?
“ CreateUser.html頁面”(如果我是正確的話)是您使用AJAX讀取文件(頁面)內容並將其粘貼到HTML中?
如果是,請閱讀以下內容:
2.1。 跨域問題
在發出AJAX請求之前,您必須通過設置以下內容來允許跨域請求和核心支持:
jQuery.support.cors = true;
$.mobile.allowCrossDomainPages = true;
這些必須在特定的電話間隙功能“ DeviceReady”中設置,例如:
document.addEventListener('deviceready', function () {
jQuery.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$.ajax({
url: "www/about.txt",
dataType: 'text'
}).done(function (result) {
alert(result);
});
});
2.2。 網址
制作面向Windows Phone 8的應用程序時,必須在AJAX請求中指定資源的完整路徑,例如:url:“ www / about.txt”,
制作面向Windows Phone 8的應用程序時,不得在AJAX請求中指定資源的完整路徑,例如:url:“ about.txt”,
2.3。 源文件擴展名
請小心使用未知的擴展名文件,例如模板擴展名* .tpl或類似文件。 有時AJAX不喜歡它們,我建議使用簡單的* .txt和* .html擴展名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.