Skip to content

Commit a5ae663

Browse files
authored
Merge pull request #84 from marcel-ernst/master
add browser platform
2 parents 5d6430f + 9cb7910 commit a5ae663

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

plugin.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,17 @@
7676

7777
<source-file src="src/wp8/AppVersion.cs" />
7878
</platform>
79+
80+
<!-- browser -->
81+
<platform name="browser">
82+
<config-file target="config.xml" parent="/*">
83+
<feature name="AppVersion">
84+
<param name="browser-package" value="AppVersion" />
85+
</feature>
86+
</config-file>
87+
88+
<js-module src="src/browser/AppVersionProxy.js" name="AppVersionProxy">
89+
<runs />
90+
</js-module>
91+
</platform>
7992
</plugin>

src/browser/AppVersionProxy.js

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
"use strict";
2+
3+
var cache = null;
4+
5+
function readConfig(success, fail) {
6+
if(cache === null) {
7+
var xhr = new XMLHttpRequest();
8+
xhr.addEventListener("load", function () {
9+
try {
10+
var parser = new DOMParser();
11+
var doc = parser.parseFromString(xhr.responseText, "application/xml");
12+
var widget = doc.getElementsByTagName("widget").item(0);
13+
14+
cache = {
15+
appVersion: widget.getAttribute('version'),
16+
appName: widget.getElementsByTagName("name").item(0).textContent,
17+
packageName: widget.getAttribute('id'),
18+
versionCode: widget.getAttribute('browser-versionCode')
19+
};
20+
success(cache);
21+
}
22+
catch(e) {
23+
fail(e);
24+
}
25+
});
26+
27+
xhr.addEventListener("error", function () {
28+
fail(e);
29+
});
30+
xhr.open("get", "../config.xml", true);
31+
xhr.send();
32+
}
33+
else {
34+
setTimeout(function() {
35+
success(cache);
36+
},0);
37+
}
38+
}
39+
40+
41+
var getAppVersion = function (success, fail) {
42+
readConfig(function(data) {
43+
success(data.appVersion);
44+
}, fail);
45+
};
46+
47+
getAppVersion.getAppName = function (success, fail) {
48+
readConfig(function(data) {
49+
success(data.appName);
50+
}, fail);
51+
};
52+
53+
getAppVersion.getPackageName = function (success, fail) {
54+
readConfig(function(data) {
55+
success(data.packageName);
56+
}, fail);
57+
};
58+
59+
getAppVersion.getVersionNumber = function (success, fail) {
60+
readConfig(function(data) {
61+
success(data.appVersion);
62+
}, fail);
63+
};
64+
65+
getAppVersion.getVersionCode = function (success, fail) {
66+
readConfig(function(data) {
67+
success(data.versionCode);
68+
}, fail);
69+
};
70+
71+
module.exports = getAppVersion;
72+
73+
74+
require("cordova/exec/proxy").add("AppVersion", module.exports);
75+

0 commit comments

Comments
 (0)