mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-07 06:57:02 +08:00
parseXHR
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" href="../dist/framework-structure.css">
|
<link rel="stylesheet" href="../dist/framework-structure.css">
|
||||||
<link rel="stylesheet" href="../dist/framework-theme-default.css">
|
<link rel="stylesheet" href="../dist/framework-theme-default.css">
|
||||||
|
<title>Buttons</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="../dist/framework-structure.css">
|
||||||
|
<link rel="stylesheet" href="../dist/framework-theme-default.css">
|
||||||
|
<title>Grid</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<header class="bar-header">
|
||||||
|
<a class="button-prev" data-history-go="-1" href="#">
|
||||||
|
Previous
|
||||||
|
</a>
|
||||||
|
<h1 class="title">Willkommen!</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<p>
|
||||||
|
<a class="button button-default" href="grid.html">Grid</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a class="button button-primary" href="listview.html">List View</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a class="button button-secondary" href="index.html">Home</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="bar-footer"></footer>
|
||||||
|
|
||||||
|
|
||||||
|
<script id="framework-globals" type="text/globals">
|
||||||
|
asdfasf
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../js/jquery/jquery-1.10.2.js"></script>
|
||||||
|
<script src="../js/framework/framework-utilities.js"></script>
|
||||||
|
<script src="../js/framework/framework-navigation.js"></script>
|
||||||
|
<script src="../js/framework/test/event-listeners.js"></script>
|
||||||
|
<script src="../js/framework/framework-init.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="../dist/framework-structure.css">
|
||||||
|
<link rel="stylesheet" href="../dist/framework-theme-default.css">
|
||||||
|
<title>Listview</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<header class="bar-header">
|
||||||
|
<a class="button-prev" data-history-go="-1" href="#">
|
||||||
|
Previous
|
||||||
|
</a>
|
||||||
|
<h1 class="title">Willkommen!</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<p>
|
||||||
|
<a class="button button-default" href="grid.html">Grid</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a class="button button-primary" href="listview.html">List View</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a class="button button-secondary" href="index.html">Home</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="bar-footer"></footer>
|
||||||
|
|
||||||
|
|
||||||
|
<script id="framework-globals" type="text/globals">
|
||||||
|
asdfasf
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="../js/jquery/jquery-1.10.2.js"></script>
|
||||||
|
<script src="../js/framework/framework-utilities.js"></script>
|
||||||
|
<script src="../js/framework/framework-navigation.js"></script>
|
||||||
|
<script src="../js/framework/test/event-listeners.js"></script>
|
||||||
|
<script src="../js/framework/framework-init.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|||||||
@ -79,23 +79,65 @@
|
|||||||
xhr.onreadystatechange = function() {
|
xhr.onreadystatechange = function() {
|
||||||
if (xhr.readyState === 4) {
|
if (xhr.readyState === 4) {
|
||||||
if(xhr.status === 200) {
|
if(xhr.status === 200) {
|
||||||
successRequest(xhr, options);
|
successPageLoad(xhr, options);
|
||||||
} else {
|
} else {
|
||||||
failedRequest(options.url);
|
failedPageLoad(options.url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
xhr.send();
|
xhr.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
function successRequest(xhr, options) {
|
function successPageLoad(xhr, options) {
|
||||||
|
var data = parseXHR(xhr, options);
|
||||||
framework.isRequesting = false;
|
framework.isRequesting = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function failedRequest(options) {
|
function failedPageLoad(options) {
|
||||||
|
framework.trigger("pageloadfailed");
|
||||||
framework.isRequesting = false;
|
framework.isRequesting = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parseXHR(xhr, options) {
|
||||||
|
var
|
||||||
|
container,
|
||||||
|
tmp,
|
||||||
|
data = {};
|
||||||
|
|
||||||
|
data.url = options.url;
|
||||||
|
|
||||||
|
if (!xhr.responseText) return data;
|
||||||
|
|
||||||
|
container = document.createElement('div');
|
||||||
|
container.innerHTML = xhr.responseText;
|
||||||
|
|
||||||
|
tmp = container.querySelector("title");
|
||||||
|
if(tmp) {
|
||||||
|
data.title = tmp.innerText;
|
||||||
|
} else {
|
||||||
|
tmp = container.querySelector("h1");
|
||||||
|
if(tmp) {
|
||||||
|
data.title = tmp.innerText;
|
||||||
|
} else {
|
||||||
|
data.title = data.url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp = container.querySelector("main");
|
||||||
|
if(tmp) {
|
||||||
|
data.main = tmp.innerHTML;
|
||||||
|
} else {
|
||||||
|
tmp = container.querySelector("body");
|
||||||
|
if(tmp) {
|
||||||
|
data.main = tmp.innerHTML;
|
||||||
|
} else {
|
||||||
|
data.main = container.innerHTML;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
framework.on("ready", function(){
|
framework.on("ready", function(){
|
||||||
// DOM is ready
|
// DOM is ready
|
||||||
framework.addLinkListeners();
|
framework.addLinkListeners();
|
||||||
|
|||||||
Reference in New Issue
Block a user