-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjqm.init.js
72 lines (60 loc) · 2.29 KB
/
jqm.init.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//collapse page navs after use
$(function(){
$('body').delegate('.content-secondary .ui-collapsible-content', 'click', function(){
$(this).trigger("collapse");
});
});
// display the version of jQM
$(document).bind( 'pageinit', function() {
var version = $.mobile.version || "dev",
words = version.split( "-" ),
ver = words[0],
str = (words[1] || "Final"),
html = ver;
if( str.indexOf( "rc" ) == -1 ){
str = str.charAt( 0 ).toUpperCase() + str.slice( 1 );
} else {
str = str.toUpperCase().replace(".", "");
}
if ( $.mobile.version && str ) {
html += " <b>" + str + "</b>";
}
$( "p.jqm-version" ).html( html );
});
// Turn off AJAX for local file browsing
if ( location.protocol.substr(0,4) === 'file' ||
location.protocol.substr(0,11) === '*-extension' ||
location.protocol.substr(0,6) === 'widget' ) {
// Start with links with only the trailing slash and that aren't external links
var fixLinks = function() {
$( "a[href$='/'], a[href='.'], a[href='..']" ).not( "[rel='external']" ).each( function() {
this.href = $( this ).attr( "href" ).replace( /\/$/, "" ) + "/index.html";
});
};
// fix the links for the initial page
$(fixLinks);
// fix the links for subsequent ajax page loads
$(document).bind( 'pagecreate', fixLinks );
// Check to see if ajax can be used. This does a quick ajax request and blocks the page until its done
$.ajax({
url: '.',
async: false,
isLocal: true
}).error(function() {
// Ajax doesn't work so turn it off
$( document ).bind( "mobileinit", function() {
$.mobile.ajaxEnabled = false;
var message = $( '<div>' , {
'class': "ui-footer ui-bar-e",
style: "overflow: auto; padding:10px 15px;",
'data-ajax-warning': true
});
message
.append( "<h3>Note: Navigation may not work if viewed locally</h3>" )
.append( "<p>The AJAX-based navigation used throughout the jQuery Mobile docs may need to be viewed on a web server to work in certain browsers. If you see an error message when you click a link, try a different browser or <a href='https://github.com/jquery/jquery-mobile/wiki/Downloadable-Docs-Help'>view help</a>.</p>" );
$( document ).bind( "pagecreate", function( event ) {
$( event.target ).append( message );
});
});
});
}