Changed the default page "exit" event handler from "onunload" to "pagehide" for iOS; hopefully, auto-resume machines will work better on mobile devices with that change

This commit is contained in:
Jeff Parsons 2017-06-25 08:32:27 -07:00 committed by Jeff Parsons
commit 7457e4e44f
43 changed files with 132 additions and 117 deletions

View file

@ -3,8 +3,8 @@ layout: page
title: C1Pjs Documentation
permalink: /docs/c1pjs/
machines:
- type: c1p-dbg
id: c1p8kb
- id: c1p8kb
type: c1p-dbg
config: /devices/c1p/machine/8kb/large/debugger/machine.xml
redirect_from:
- /c1p/

View file

@ -3,8 +3,8 @@ layout: page
title: Embedding The C1Pjs Simulator
permalink: /docs/c1pjs/embed/
machines:
- type: c1p
id: c1p8kb
- id: c1p8kb
type: c1p
config: /devices/c1p/machine/8kb/embed/machine.xml
redirect_from:
- /configs/c1p/embed/

View file

@ -3,14 +3,14 @@ layout: page
title: PCx86 Documentation
permalink: /docs/pcx86/
machines:
- type: pcx86
id: ibm5150
config: /devices/pcx86/machine/5150/mda/64kb/machine.xml
- id: ibm5150
type: pcx86
resume: 1
config: /devices/pcx86/machine/5150/mda/64kb/machine.xml
---
PCx86 Documentation
---
-------------------
[PCx86](/docs/about/pcx86/) is a full-featured [IBM PC and PC-compatible](/devices/pcx86/machine/) emulator written
entirely in JavaScript. It supports a variety of XT and AT class machines, with processors ranging from the 8088

View file

@ -3,13 +3,13 @@ layout: page
title: PCx86 Documentation Examples
permalink: /docs/pcx86/examples/
machines:
- type: pcx86
id: example3
- id: example3
type: pcx86
config: /docs/pcx86/examples/example3b.xml
---
PCx86 Documentation Examples
---
----------------------------
This folder provides all the self-contained [PCx86](/docs/about/pcx86/) examples described in the
[Documentation](/docs/pcx86/).

View file

@ -68,8 +68,9 @@ function Xa(a){if(!Ya){var b,c={};if(window){b||(b=window.location.search.substr
function Za(a,b,c,d){var e=null;b="data:application/"+b+(c?";base64":"")+",";b=Wa("Firefox")?b+(c?a:encodeURIComponent(a)):b+(c?a:encodeURI(a));d&&(e=document.createElement("a"),"string"!=typeof e.download&&(e=null));e?(e.href=b,e.download=d,document.body.appendChild(e),e.click(),document.body.removeChild(e),a="Check your Downloads folder for "+d+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(d?" ("+d+")":"")+".");return a}
function $a(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}function ab(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function bb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}
function eb(a){gb.init.push(a)}function hb(a){if(jb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){kb(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function lb(a){!jb&&a?(jb=!0,mb&&nb("init"),ob&&nb("show")):jb=a}function nb(a){gb[a]&&hb(gb[a])}var Ya=null,gb={init:[],show:[],exit:[]},mb=!1,ob=!1,jb=!0,Ta=null;bb("onload",function(){mb=!0;hb(gb.init)});bb("onpageshow",function(){ob=!0;hb(gb.show)});
bb(Wa("Opera")||Wa("iOS")?"onunload":"onbeforeunload",function(){hb(gb.exit)});function pb(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.zj=b.comment;this.Qk=b;this.exports={};this.na=this.bindings={};a=this.id.indexOf(".");0>a?this.ce=this.id:(this.ye=this.id.substr(0,a),this.ce=this.id.substr(a+1));this.da={ready:!1,qf:!1,bh:!1,Yb:!1,Tf:!1,error:!1};this.rg=null;this.da.error=!1;this.ic=c||0;this.ba=this.H=this.ka=this.pa=this.Je=null;qb.push(this)}
function sb(a,b,c){tb[a]&&b&&(tb[a][b]=c)}function kb(a){window&&window.alert(a)}function ub(a){var b=!1;window&&(b=window.confirm(a));return b}function vb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<qb.length;b++){var d=qb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function wb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<qb.length;c++)if(qb[c].id===a)return qb[c]}return null}
bb(Wa("iOS")?"onpagehide":Wa("Opera")?"onunload":"onbeforeunload",function(){hb(gb.exit)});
function pb(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.zj=b.comment;this.Qk=b;this.exports={};this.na=this.bindings={};a=this.id.indexOf(".");0>a?this.ce=this.id:(this.ye=this.id.substr(0,a),this.ce=this.id.substr(a+1));this.da={ready:!1,qf:!1,bh:!1,Yb:!1,Tf:!1,error:!1};this.rg=null;this.da.error=!1;this.ic=c||0;this.ba=this.H=this.ka=this.pa=this.Je=null;qb.push(this)}function sb(a,b,c){tb[a]&&b&&(tb[a][b]=c)}function kb(a){window&&window.alert(a)}
function ub(a){var b=!1;window&&(b=window.confirm(a));return b}function vb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<qb.length;b++){var d=qb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function wb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<qb.length;c++)if(qb[c].id===a)return qb[c]}return null}
function yb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<qb.length;d++)if(c)c==qb[d]&&(c=null);else if(!(a!=qb[d].type||b&&qb[d].id.indexOf(b)))return qb[d]}return null}function zb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){kb(c.message+" ("+a+")")}return b}function Ab(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=yb(d,a.id))&&(b=d.na[b])&&a.Cb(null,c,b))}
function Bb(a,b){b=Cb(b.parentNode,"pcx86-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pcx86-binding":(g=zb(f))&&g.binding&&a.Cb(g.type,g.binding,f,g.value),k=h.length}}}}
function Cb(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}

View file

@ -66,7 +66,7 @@ function Ja(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return
function La(a){if(!Ma){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ma=c}return Ma[a]||Ma[a.toLowerCase()]}
function Na(a,b,c,d){var e=null;b="data:application/"+b+(c?";base64":"")+",";b=Ka("Firefox")?b+(c?a:encodeURIComponent(a)):b+(c?a:encodeURI(a));d&&(e=document.createElement("a"),"string"!=typeof e.download&&(e=null));e?(e.href=b,e.download=d,document.body.appendChild(e),e.click(),document.body.removeChild(e),a="Check your Downloads folder for "+d+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(d?" ("+d+")":"")+".");return a}
function Oa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Pa(a){Qa.init.push(a)}function Ra(a){if(Sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ta(a){!Sa&&a?(Sa=!0,Ua&&Va("init"),Wa&&Va("show")):Sa=a}function Va(a){Qa[a]&&Ra(Qa[a])}var Ma=null,Qa={init:[],show:[],exit:[]},Ua=!1,Wa=!1,Sa=!0,Ha=null;
Oa("onload",function(){Ua=!0;Ra(Qa.init)});Oa("onpageshow",function(){Wa=!0;Ra(Qa.show)});Oa(Ka("Opera")||Ka("iOS")?"onunload":"onbeforeunload",function(){Ra(Qa.exit)});
Oa("onload",function(){Ua=!0;Ra(Qa.init)});Oa("onpageshow",function(){Wa=!0;Ra(Qa.show)});Oa(Ka("iOS")?"onpagehide":Ka("Opera")?"onunload":"onbeforeunload",function(){Ra(Qa.exit)});
function t(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vi=b.comment;this.Jj=b;this.exports={};this.ia=this.bindings={};a=this.id.indexOf(".");0>a?this.Ud=this.id:(this.Wd=this.id.substr(0,a),this.Ud=this.id.substr(a+1));this.aa={ready:!1,yf:!1,ng:!1,Pb:!1,hf:!1,error:!1};this.Hf=null;this.aa.error=!1;this.Ea=this.U=this.ma=this.oa=this.Ef=null;Xa.push(this)}function Ya(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function r(a){window&&window.alert(a)}
function ab(a){var b=!1;window&&(b=window.confirm(a));return b}function bb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Xa.length;b++){var d=Xa[b];a&&d.id.indexOf(a)||c.push(d)}return c}function cb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Xa.length;c++)if(Xa[c].id===a)return Xa[c]}return null}
function db(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Xa.length;d++)if(c)c==Xa[d]&&(c=null);else if(!(a!=Xa[d].type||b&&Xa[d].id.indexOf(b)))return Xa[d]}return null}function eb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}function fb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=db(d,a.id))&&(b=d.ia[b])&&a.wb(null,c,b))}