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>
|
||||
<link rel="stylesheet" href="../dist/framework-structure.css">
|
||||
<link rel="stylesheet" href="../dist/framework-theme-default.css">
|
||||
<title>Buttons</title>
|
||||
</head>
|
||||
<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() {
|
||||
if (xhr.readyState === 4) {
|
||||
if(xhr.status === 200) {
|
||||
successRequest(xhr, options);
|
||||
successPageLoad(xhr, options);
|
||||
} else {
|
||||
failedRequest(options.url);
|
||||
failedPageLoad(options.url);
|
||||
}
|
||||
}
|
||||
};
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function successRequest(xhr, options) {
|
||||
function successPageLoad(xhr, options) {
|
||||
var data = parseXHR(xhr, options);
|
||||
framework.isRequesting = false;
|
||||
}
|
||||
|
||||
function failedRequest(options) {
|
||||
function failedPageLoad(options) {
|
||||
framework.trigger("pageloadfailed");
|
||||
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(){
|
||||
// DOM is ready
|
||||
framework.addLinkListeners();
|
||||
|
||||
Reference in New Issue
Block a user