Skip to content

Commit c2d07f3

Browse files
committed
Merge pull request #136 from zhangxinxu/develop
Develop
2 parents 22d6fe0 + 1850891 commit c2d07f3

File tree

4 files changed

+40
-21
lines changed

4 files changed

+40
-21
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mobilebone",
3-
"version": "2.5.3",
3+
"version": "2.5.4",
44
"description": "Bone main for mobile web APP with a sigle page mode.",
55
"main": "src/mobilebone.js",
66
"directories": {

src/mobilebone.js

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
*
4444
* @type string
4545
**/
46-
Mobilebone.VERSION = '2.5.3';
46+
Mobilebone.VERSION = '2.5.4';
4747

4848
/**
4949
* Whether catch attribute of href from element with tag 'a'
@@ -579,25 +579,27 @@
579579
var create = document.createElement("div");
580580
if (typeof domHtml == "string") {
581581
create.innerHTML = domHtml;
582-
583-
if (Mobilebone.evalScript == true) {
584-
slice.call(create.getElementsByTagName("script")).forEach(function(originScript) {
585-
var scriptContent = originScript.innerHTML.trim(), type = originScript.getAttribute("type");
586-
if (scriptContent.trim() == "" || originScript.src) return;
587-
var head = document.getElementsByTagName("head")[0] || document.documentElement,
588-
script = document.createElement("script");
589-
if (type) script.type = type;
590-
script.appendChild(document.createTextNode(scriptContent));
591-
setTimeout(function() {
592-
head.insertBefore(script, head.firstChild);
593-
head.removeChild(script);
594-
}, 16);
595-
originScript = null;
596-
});
597-
}
598582
} else {
599583
create.appendChild(domHtml);
600584
}
585+
586+
// excute inline JavaScript
587+
if (Mobilebone.evalScript == true) {
588+
slice.call(create.getElementsByTagName("script")).forEach(function(originScript) {
589+
var scriptContent = originScript.innerHTML.trim(), type = originScript.getAttribute("type");
590+
if (scriptContent.trim() == "" || originScript.src) return;
591+
var head = document.getElementsByTagName("head")[0] || document.documentElement,
592+
script = document.createElement("script");
593+
if (type) script.type = type;
594+
script.appendChild(document.createTextNode(scriptContent));
595+
setTimeout(function() {
596+
head.insertBefore(script, head.firstChild);
597+
head.removeChild(script);
598+
}, 16);
599+
originScript = null;
600+
});
601+
}
602+
601603
var create_title = create.getElementsByTagName("title")[0];
602604
// get the page element
603605
if (!(create_page = create.querySelector("." + classPage))) {
@@ -890,6 +892,8 @@
890892
history.tempBack = null;
891893
return true;
892894
}
895+
if (typeof page_in == "undefined") return true;
896+
if (!page_out) return false;
893897
return page_in.compareDocumentPosition(page_out) == 4;
894898
};
895899

@@ -1190,10 +1194,21 @@
11901194
if (page_in.id) return;
11911195
} else {
11921196
page_in = store[hash];
1197+
1198+
if (isSimple.test(hash) == false) {
1199+
// ajax store
1200+
Mobilebone.createPage(page_in, {
1201+
url: hash,
1202+
dataType: "unknown",
1203+
history: false,
1204+
back: true
1205+
});
1206+
return;
1207+
}
11931208
}
11941209

11951210
if (!page_in) {
1196-
if(isSimple.test(hash) == false) {
1211+
if (isSimple.test(hash) == false) {
11971212
// as a url
11981213
Mobilebone.ajax({
11991214
url: hash,

test/ajax-html/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
<script src="../../src/mobilebone.js"></script>
4444
<script src="../../src/mobilebone.js"></script>
4545
<!-- 厂子的frozenjs兼容测试 -->
46-
<script src="../base-slide/zepto.js"></script>
47-
<script src="../base-slide/frozen.js"></script>
46+
<!--<script src="../base-slide/zepto.js"></script>
47+
<script src="../base-slide/frozen.js"></script>-->
4848
<script>
4949
var optionsTest = function(elein, eleout, options) {
5050
// ajax过场回调options参数测试

test/ajax-html/root-reload.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@
99
<p>document.getElementById("idShow").innerHTML是:<strong id="idShow">&nbsp;</strong>,应该结果是<strong id="idShould"><?php echo $_GET['id']; ?></strong>.</p>
1010
<ul>
1111
<li><a href="#pageHome" id="scriptTest" data-rel="back" data-ajax="true">返回</a></li>
12+
<li><a href="root-reload.php?id=8" data-ajax="true">id不一样的页面</a></li>
1213
</ul>
1314
<script>
1415
document.getElementById("scriptTest").style.backgroundColor = "#" + (Math.random() + "").slice(-6);
16+
document.getElementById("idShow").parentNode.addEventListener("touchstart", function() {
17+
document.getElementById("scriptTest").style.backgroundColor = "#" + (Math.random() + "").slice(-6);
18+
});
1519
console.log("script excuted!");
1620
</script>
1721
<script type="text/template">

0 commit comments

Comments
 (0)