1 <!DOCTYPE html> 2 <html lang="en-US"> 3 <head> 4 <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"><meta charset="UTF-8"><meta name="application-name" id="app-name" content="morningjournal"><meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="msvalidate.01" content="4B535F7EB2971D1FCBA5D1D3E3E292C3" /> 5 <meta name="robots" content="noarchive" /> 6 <meta name="tdm-reservation" content="1" /> 7 <title>Mobile Apps – Morning Journal</title> 8<link rel='preload' as='image' fetchpriority='high' href='https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-logo.png' type='image/png' /> 9<meta name='robots' content='max-image-preview:large' />
10<script type='text/javascript'> 11/* <![CDATA[ */ 12var scriptHelpers = {"staticPath":"https:\/\/www.morningjournal.com\/wp-content\/themes\/assets\/static\/"}; 13/* ]]> */ 14</script>
vendor: 1 bytes, line 14
14
15<script id="mng_admiral_script" type="text/javascript"> 16!(function(h,_name,r,Q,i){i=function(){(i.q=i.q||[]).push(arguments)},h[_name=r(r(_name))]=h[_name]||i,h[_name].v=h[_name].v||4,h[_name].s=3+0})(window,'%256%31%25%36%34%25%36%44%69%72%61%6C',decodeURI);!(function(h,r,Q,i,E,e,d,x,B){e=function(r,s){return r<2&&s};try{r[Q]=r[Q]||function(h){h?d[h]=!0:e()},d=r[Q]}catch(l){return void e()}!(function y(r,Q,T,O){function c(){try{if(d[T&&T.src||Q]||d[x])return}catch(l){return void e()}T&&(T.remove(),T=null),clearTimeout(B),!r&&Q&&(Q+=(-1===Q.indexOf("?")?"?":"&")+"r=1"),(Q=e(++r,Q))&&y(r,Q)}(T=h.createElement(i)).__apNoHold=!0,O=h.getElementsByTagName(i)[0],T.async=1,T.src=Q,r>0&&(T.fetchPriority="high"),B=setTimeout(c,6e3+2e3*r),T[E]("error",c),T[E]("load",c),O.parentNode.insertBefore(T,O)})(0,x="https://thebestpaints.com/build/qjhhq_xe4t12t.module.js")})(document,window,"QS02OEVGQTIzNzJFODI0QTAxMTQ4Njc3MUItODE","script","addEventListener",{});; 17; 18!(function(h,r,Q,i,E,e,d,x,B,l,y,_name,T,O,c,v,t,S,N,p,C,n){_name=(y=function(h){return r(r(h))})('ad%256%44ira%6C'),T=h.localStorage,O=h.sessionStorage,c=y('%5Fad%25%36%44%72%25%36C%2563%6B%76%25%370'),t=h.location;try{0===document.referrer.indexOf(t.origin)?(v=new URLSearchParams(t.search)).get(y('%255F%25%361%63%2572%256%39'))?((S=v.get(y('%5F%25%361%2563%25%37%34')))===y('%25%36%35%78%74%25%36%35%25%36%45%256%34')?N=[["admir\u0061l\u002d\u0065\u0078t\u0065\u006e\u0064ed","true"||_name]]:S===y('s%25%368%256%31%70e')&&(N=[["a\u0064\u006di\u0072al\u002d\u0073\u0068ap\u0065\u0064","true"||_name]]),N&&(O[c]=JSON.stringify(N))):N=JSON.parse(O[c]||"[]"):delete O[c]}catch(b){N=[]}function I(r,Q){try{r=JSON.parse(T["_aQS02OEVGQTIzNzJFODI0QTAxMTQ4Njc3MUItODE"]||"{}").lgk||[]}catch(b){r=[]}N&&(r=r.concat(N)),r&&r.length&&(Q=h[p].pubads())&&r.forEach((function(h){h&&h[0]&&Q.setTargeting(h[0],h[1]||"")}))}p=y('%25%367%256%46%25%36%46%25%367%6C%65t%25%36%31g');try{n=(C=h[p]=h[p]||{}).cmd=C.cmd||[],typeof C.pubads===Q?I():typeof n.unshift===Q?n.unshift(I):n.push(I)}catch(b){}})(window,decodeURI,"function"); 19</script>
19 20<link rel='dns-prefetch' href='//metrics.rapidedge.io' /> 21<link rel='dns-prefetch' href='//htlbid.com' /> 22<link rel='dns-prefetch' href='//cmp.osano.com' /> 23<link rel='dns-prefetch' href='//ak.sail-horizon.com' /> 24<link rel='dns-prefetch' href='//cdn.parsely.com' /> 25<link rel='dns-prefetch' href='//ajax.googleapis.com' /> 26<link rel='dns-prefetch' href='//r718.morningjournal.com' /> 27<link rel='dns-prefetch' href='//cdn.sophi.io' /> 28<link rel='dns-prefetch' href='//applepay.cdn-apple.com' /> 29<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 30<link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> 31<link rel='dns-prefetch' href='//v0.wordpress.com' /> 32<link rel="alternate" type="application/rss+xml" title="Morning Journal » Feed" href="https://www.morningjournal.com/feed/" /> 33<link rel="alternate" type="application/rss+xml" title="Morning Journal » Comments Feed" href="https://www.morningjournal.com/comments/feed/" /> 34<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.morningjournal.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.morningjournal.com%2Fmobile-apps%2F" /> 35<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.morningjournal.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.morningjournal.com%2Fmobile-apps%2F&format=xml" /> 36<meta name='description' content='Mobile Apps Here’s where to find The Morning Journal’s mobile apps: The Morning Journal for iOS (iPhone and iPad) The Morning Journal for Android ' /><!-- WP SEO --> 37<link rel='stylesheet' id='__htl_style-css' href='https://htlbid.com/v3/morningjournal.com/htlbid.css' media='screen' /> 38<style id='__htl_style-inline-css'> 39@media screen and (max-width:1000px) { #mobile-adhesion { display: block !important; } } 40/*# sourceURL=__htl_style-inline-css */ 41</style> 42<link rel='stylesheet' id='all-css-f27c' href='https://www.morningjournal.com/_static/??/wp-content/themes/wp-mason/dist/css/styleOsanoCustom.min.css,/wp-content/client-mu-plugins/src/Sitemap/includes/style.css?m=1790798714' type='text/css' media='all' /> 43<style id='wp-emoji-styles-inline-css'> 44 45 img.wp-smiley, img.emoji { 46 display: inline !important; 47 border: none !important; 48 box-shadow: none !important; 49 height: 1em !important; 50 width: 1em !important; 51 margin: 0 0.07em !important; 52 vertical-align: -0.1em !important; 53 background: none !important; 54 padding: 0 !important; 55 } 56/*# sourceURL=wp-emoji-styles-inline-css */ 57</style> 58<link rel='stylesheet' id='digisubs_plugin_css-css' href='https://www.morningjournal.com/wp-content/plugins/mng-digisubs/static/mng-digisubs.styles.css?ver=1790890291' media='all' /> 59<link rel='stylesheet' id='all-css-fb7f' href='https://www.morningjournal.com/_static/??-eJx9zEEKAjEMheELGePgos5CxKPMdEIbaJMySZG5vUUQXLl4/PAWH74aRBUncYyFR6B2aKUnFsNvqyQwUsh9xcWM3DDamLZj55QdRJ0jncd5wr+i7RGfm/0qVVcuBMuWyVgFzI/yoR71PoX5EuZbmK5vSeQ+VA==' type='text/css' media='all' /> 60<link rel='stylesheet' id='mason-fonts-css' href='https://fonts.googleapis.com/css?family=Noto+Sans%3A400%2C700%2C800%7CNoto+Serif%3A400%2C400i%2C700%2C700i%2C800&display=swap&ver=6.9.9' media='all' /> 61<link rel='stylesheet' id='all-css-31fc' href='https://www.morningjournal.com/wp-content/themes/assets/static/css/modernearthy.css?m=1790890291g' type='text/css' media='all' /> 62<link rel='stylesheet' id='dfm-accuweather-bootstrap-icons-css' href='//cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css?ver=5.2.0' media='screen' /> 63<link rel='stylesheet' id='all-css-84bd' href='https://www.morningjournal.com/_static/??/wp-content/plugins/dfm-ad-mods/dist/css/style.min.css,/wp-content/mu-plugins/jetpack-16.1/_inc/build/social-logos/social-logos.css?m=1790798713' type='text/css' media='all' />
64<script src="https://metrics.rapidedge.io/gamera.js?ltv=1&audience=1&tpcs=1&partner=medianewsgroup" id="gamera-js" async data-wp-strategy="async"></script>
vendor: 1 bytes, line 64
64
65<script src="https://cmp.osano.com/16A1AnRt2Fn8i1unj/1edc45d9-1a78-48b2-9035-037b31df744a/osano.js" id="osano-js"></script>
vendor: 1 bytes, line 65
65
66<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js?ver=3.5.1" id="jquery-js"></script>
vendor: 1 bytes, line 66
66
67<script type="text/javascript" src="https://www.morningjournal.com/wp-content/client-mu-plugins/src/SSO/assets/js/sso-tools.min.js?m=1790371220g" ></script>
67<script id="mg2_loader_loader-js-extra"> 68var MG2 = {"settings":{"environment":"prod","version":"dfm","useDocumentReady":false,"xCode":"","randomURLChoosing":false,"plugins":[{"name":"FP","required":true,"initOptions":{"version":"dfm","environment":"prod"}},{"name":"DL","required":true,"initOptions":{"version":"dfm","environment":"prod","tagManager":"GTM","containerId":"GTM-NFD2QGD","collectors":["connext"]}},{"name":"NXT","required":true,"initOptions":{"environment":"prod","siteCode":"DFM","configCode":"SophiOH","clientCode":"dfm","debug":false,"silentmode":true,"attr":"MJ","settingsKey":"21C,MJ","userAuthenticationTime":365,"authSettings":{"domain":"login.npuserlogin.com","client_id":"HB19xgdkNK0V4li53btyqBr2MklJIlaw","redirect_uri":"https://www.morningjournal.com/login"}}}],"FP_CNAME":"fp.morningjournal.com","DL_CNAME":"g2i.morningjournal.com","NXT_CNAME":"engage.morningjournal.com","CONFIG_URL":"https://loader-config.morningjournal.com/prod/dfm/loader-config.json","appInsightsKey":"8241cbc2-50a5-47c4-b91f-462506490fad"}}; 69//# sourceURL=mg2_loader_loader-js-extra 70</script>
vendor: 1 bytes, line 70
70
71<script src="https://www.morningjournal.com/wp-content/plugins/loader-wp/static/loader.min.js?ver=1.6.4" id="mg2_loader_loader-js"></script>
vendor: 1 bytes, line 71
71
72<script id="mg2_loader_loader-js-after"> 73(function( MG2, MG2Loader ) { 74 if ( 'undefined' !== typeof MG2 && 'undefined' !== typeof MG2Loader) { 75 console.log("mg2loader: not waiting"); 76 MG2Loader.init( MG2.settings ); 77 } 78})( MG2, MG2Loader ); 79//# sourceURL=mg2_loader_loader-js-after 80</script>
vendor: 1 bytes, line 80
80
81<script id="digisubs_settings-js-extra"> 82var authentication_config = {"debug":"","entitlementsEnabled":"1","oneTapEnabled":"1","useTribMainGoogle":"","googleClientId":"667026073629-1sd51lvrfq6o5df0tg7d00k0n53l041o.apps.googleusercontent.com","gotPositionEnabled":"","gotModalPosition":"","dropdownEnabled":"1","forceLogoutOnExpiredIdToken":"","auth0Domain":"login.npuserlogin.com","auth0ClientId":"HB19xgdkNK0V4li53btyqBr2MklJIlaw","auth0RegwallUserEmail":"","sessionManagement":"1","sessionServer":"https://session.morningjournal.com","newsletterId":"366","newslettersEnabled":"","myAccountLink":"","entitlementsEndpoint":"https://user.mng-digisubs-prod.com/","entitlementsAPIKey":"DHL8Vs1UNo9u0WO52dVBzSuLi4kw2so25cXK1fy7","linaCheckOnArticles":"1","serverEntitlements":"1","bcLowaSegements":"","blueconicEnabled":"1","enableReaderDashboardLink":"1","enableDashboardCancel":"","enableReaderDashboardv2":"","enableDashboardBenefitHub":"","prosperstackClientid":"","enableUpdatePayment":"","enableUpgradeSubscription":"","enableDatadog":"","sophiOnDevice":"1","sophiSDKEnabled":"","regwallPrefId":"","cookieSize":"","whiteList":"","paywallId":"paywall-sspw-mg2pw01-fg24","articleSavingEnabled":"","articleSharingEnabled":"1","isEmbedLoginEnabled":"","enableSocialSigninModal":"","subHeaderText":"","enableSocialAllPages":"","enableSocialHomepage":"","enableSocialArticle":"","enableSocialSection":"","isAdfreeArticle":""}; 83//# sourceURL=digisubs_settings-js-extra 84</script>
vendor: 1 bytes, line 84
84
85<script id="connext_utils-js-extra"> 86var authentication_config = {"debug":"","entitlementsEnabled":"1","oneTapEnabled":"1","useTribMainGoogle":"","googleClientId":"667026073629-1sd51lvrfq6o5df0tg7d00k0n53l041o.apps.googleusercontent.com","gotPositionEnabled":"","gotModalPosition":"","dropdownEnabled":"1","forceLogoutOnExpiredIdToken":"","auth0Domain":"login.npuserlogin.com","auth0ClientId":"HB19xgdkNK0V4li53btyqBr2MklJIlaw","auth0RegwallUserEmail":"","sessionManagement":"1","sessionServer":"https://session.morningjournal.com","newsletterId":"366","newslettersEnabled":"","myAccountLink":"","entitlementsEndpoint":"https://user.mng-digisubs-prod.com/","entitlementsAPIKey":"DHL8Vs1UNo9u0WO52dVBzSuLi4kw2so25cXK1fy7","linaCheckOnArticles":"1","serverEntitlements":"1","bcLowaSegements":"","blueconicEnabled":"1","enableReaderDashboardLink":"1","enableDashboardCancel":"","enableReaderDashboardv2":"","enableDashboardBenefitHub":"","prosperstackClientid":"","enableUpdatePayment":"","enableUpgradeSubscription":"","enableDatadog":"","sophiOnDevice":"1","sophiSDKEnabled":"","regwallPrefId":"","cookieSize":"","whiteList":"","paywallId":"paywall-sspw-mg2pw01-fg24","articleSavingEnabled":"","articleSharingEnabled":"1","isEmbedLoginEnabled":"","enableSocialSigninModal":"","subHeaderText":"","enableSocialAllPages":"","enableSocialHomepage":"","enableSocialArticle":"","enableSocialSection":"","isAdfreeArticle":""}; 87//# sourceURL=connext_utils-js-extra 88</script>
vendor: 1 bytes, line 88
88
89<script type="text/javascript" src="https://www.morningjournal.com/_static/??-eJydzDEOwjAMQNELkbhlgQyIC7BygKSxLFeJG8WuWm4PC1IHJtYvvQ9bc9MihmLQykosCmWJGbvbGqhF4wlQKBI+OPXYX76y+FlP8ENWIZeZWNekX3xsXtGMhdSnVXLBvz8fILjb07gcXvd6Gy9huIbhHMb5Dd4SUfE=" ></script>
89<script src="https://cdn.auth0.com/js/auth0-spa-js/1.13/auth0-spa-js.production.js?ver=6.9.9" id="auth0_sdk-js"></script>
vendor: 1 bytes, line 89
89
90<script src="https://accounts.google.com/gsi/client?ver=6.9.9" id="google_one_tap-js"></script>
vendor: 1 bytes, line 90
90
91<script type="text/javascript" src="https://www.morningjournal.com/_static/??-eJylzMEOQDAQBNAfoosLPYir36hqmpV2id2Gz1cnceU0yWTmwbGVdiVxJLCF5JEYIvlyRo+cJgYWI2hfnYoGSU2J5uDUwgV8MfKB3Cl/mTxGCS7m5L9WwtHcwP5AQ+zrVledrhpdLxe/kHEe" ></script>
91<script id="auth0-session-storage-js-before"> 92window.auth0WPAdminMeta = '{"auth0WPAdminMeta":{"auth0UserMeta":null,"auth0AppMeta":null}}'; 93//# sourceURL=auth0-session-storage-js-before 94</script>
vendor: 1 bytes, line 94
94
95<script src="https://www.morningjournal.com/wp-content/client-mu-plugins/src/Auth0/assets/dist/auth0-session-storage.min.js?ver=1.0.4" id="auth0-session-storage-js"></script>
vendor: 1 bytes, line 95
95
96<script src="https://r718.morningjournal.com/script.js" id="r718-js"></script>
vendor: 1 bytes, line 96
96
97<script id="hhsl-check-js-extra"> 98var DFM_AD_MODS_LEVEL = ["175"]; 99//# sourceURL=hhsl-check-js-extra 100</script>
vendor: 1 bytes, line 100
100
101<script type="text/javascript" src="https://www.morningjournal.com/_static/??/wp-content/plugins/dfm-ad-mods/dist/js/hhslCheck.min.js,/wp-content/plugins/mng-digisubs/assets/js/sophi/mather.min.js?m=1790798713j" ></script>
101<script id="static-sophi-script-handle-js-after"> 102 window.sophi = window.sophi || {}; 103 sophi.demeter = { actions: [], initStatus: "" }; 104 105 // Lightweight lifecycle tracking helper: appends "{code}{seconds}" to 106 // demeter.initStatus, seconds since navigation start truncated to 10ms. 107 window._s = function (c) { 108 var d = window.sophi.demeter; 109 var f = String(Math.floor(performance.now() / 10) / 100).replace(/^0\./, "."); 110 d.initStatus = (d.initStatus ? d.initStatus + "," : "") + c + f; 111 }; 112 113 window.demeter = window.demeter || function () { 114 var resolve, reject; 115 var s = new Promise(function (res, rej) { 116 resolve = res; 117 reject = rej; 118 }); 119 sophi.demeter.actions.push([arguments, resolve, reject]); 120 return s; 121 }; 122 123 _s("i"); 124//# sourceURL=static-sophi-script-handle-js-after 125</script>
vendor: 1 bytes, line 125
125
126<script id="mng_sophi-js-extra"> 127var sophi_config = {"sophiGetDesicionTimer":"","sophiPluginEnabled":"1","sophiHostname":"test.sophi.io","enableSophiSSPW":"","useEventListener":"","enableSophiEngageVsSophiSSPW":""}; 128//# sourceURL=mng_sophi-js-extra 129</script>
vendor: 1 bytes, line 129
129
130<script type="text/javascript" src="https://www.morningjournal.com/wp-content/plugins/mng-digisubs/static/mng-digisubs.sophi.bundle.js?m=1790890291g" ></script>
130<script>if(window._s){_s('l');}</script>
vendor: 1 bytes, line 130
130
131<script onerror="if(window._s){_s('xsl');}" src="https://cdn.sophi.io/assets/demeter/1/stable/4088338578.js?ver=6.9.9" id="sophi_demeter-js" async data-wp-strategy="async"></script>
vendor: 1 bytes, line 131
131
132<script id="article_sharing-js-extra"> 133var article_config = {"article_sharing_faq":""}; 134//# sourceURL=article_sharing-js-extra 135</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript" src="https://www.morningjournal.com/wp-content/plugins/mng-digisubs/static/mng-digisubs.articleShare.bundle.js?m=1790890291g" ></script>
136<link rel="https://api.w.org/" href="https://www.morningjournal.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.morningjournal.com/wp-json/wp/v2/pages/137" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.morningjournal.com/xmlrpc.php?rsd" /> 137<meta name="generator" content="WordPress 6.9.9" /> 138<link rel='shortlink' href='https://wp.me/Pd2VT7-2d' />
139<script id="cnx-init-script">!function(n){if(!window.cnx){window.cnx={},window.cnx.cmd=[];var t=n.createElement('iframe');t.display='none',t.onload=function(){var n=t.contentWindow.document,c=n.createElement('script');c.src='//cd.connatix.com/connatix.player.js',c.setAttribute('async','1'),c.setAttribute('type','text/javascript'),n.body.appendChild(c)},n.head.appendChild(t)}}(document);</script>
139 <style> 140 .getty.aligncenter { 141 text-align: center; 142 } 143 .getty.alignleft { 144 float: none; 145 margin-right: 0; 146 } 147 .getty.alignleft > div { 148 float: left; 149 margin-right: 5px; 150 } 151 .getty.alignright { 152 float: none; 153 margin-left: 0; 154 } 155 .getty.alignright > div { 156 float: right; 157 margin-left: 5px; 158 } 159 </style> 160 <style>img#wpstats{display:none}</style> 161
161<script type="application/ld+json" id="mng-metadata">{"@context":"https:\/\/schema.org","@type":"WebPage","headline":"Mobile Apps","url":"https:\/\/www.morningjournal.com\/mobile-apps\/"}</script>
161<script type="application/ld+json" id="mng-breadcrumb-0">{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.morningjournal.com","name":"Home"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/www.morningjournal.com\/mobile-apps\/","name":"Mobile Apps"}}]}</script>
161<link rel="canonical" href="https://www.morningjournal.com/mobile-apps/" />
161<script> 162 var PushlySDK = window.PushlySDK || []; 163 function pushly() { PushlySDK.push(arguments) } 164 pushly('load', { 165 domainKey: decodeURIComponent("g7s0WgoSJpwrMUvzqEPvxZyH06O1jt6g2kJs"), 166 sw: "https://www.morningjournal.com/wp-content/plugins/pushly/assets/js/pushly-sdk-worker.js.php", 167 swScope: "https://www.morningjournal.com/wp-content/plugins/pushly/" }); 168</script>
168 169 170<style id="customizer-styles"></style>
170<script>window.addEventListener('message', 171 function s2nEventCallback(a){if('s2nEvent'===a.data.type) 172 {let t={event:'SendToNews load',sendtonews_player_key: 173 a.data.playerKey};window.dataLayer.push(t), 174 window.removeEventListener('message',s2nEventCallback)}});</script>
174<!-- Google Tag Manager Data Layer -->
175<script type='text/javascript'> 176 analyticsEvent = function() {}; 177 analyticsSocial = function() {}; 178 analyticsVPV = function() {}; 179 analyticsClearVPV = function() {}; 180 analyticsForm = function() {}; 181 window.dataLayer = window.dataLayer || []; 182 dataLayer.push({ 183 'quantcast' : '', 184 'quantcast label' : '', 185 'comscore' : '6035443', 186 'Publisher Domain' : 'morningjournal.com', 187 'Publisher Product' : 'morningjournal.com', 188 'kv' : 'page', 189 'Platform' : 'Web CMS', 190 'Release Version' : '6.9.9', 191 'Digital Publisher' : '', 192 'Section' : 'Mobile Apps', 193 'Taxonomy1' : '', 194 'Taxonomy2' : '', 195 'Taxonomy3' : '', 196 'Taxonomy4' : '', 197 'Taxonomy5' : '', 198 'Publisher State' : 'OHIO', 199 'Page Type' : 'page', 200 'User ID' : '', 201 'SiteName' : 'Morning Journal', 202 'Cluster' : 'MNG OH', 203 'Mobile Presentation' : 'no', 204 'Content ID' : '137', 205 'Publish Hour of Day' : '2021-07-08T12:12:10-04:00', 206 'Create Hour of Day' : '2021-07-08T12:12:10-04:00', 207 'Update Hour of Day' : '2021-07-09T19:02:54-04:00', 208 'Content Source' : '', 209 'Canonical URL' : 'https://www.morningjournal.com/mobile-apps/', 210 'Slug' : 'mobile-apps', 211 'Primary_Section' : '', 212 'Primary_Tag' : '', 213 'Associated_Tags' : '', 214 'Associated_Sections' : '', 215 'Associated_Taxonomies' : '', 216 'Byline' : 'dfmadmin', 217 'Byline_Email' : '[email protected]', 218 'Affiliation' : 'no_affiliation', 219 'Content Title' : 'Mobile Apps', 220 'URL' : 'https://www.morningjournal.com/mobile-apps/', 221 'Page Title' : 'Mobile Apps', 222 'Article Characters' : '162', 223 'Article Words' : '25', 224 'Print Export' : 'false', 225 'Paywall_Level' : 'metered', 226 'Dateline' : '', 227 'Paragraph Count' : '3', 228 'Behind Paywall' : 'true', 229 'Article Template' : '' 230 }); 231</script>
231 232<!-- End Google Tag Manager Data Layer --> 233<!-- Google Tag Manager -->
234<script>
vendor: 347 bytes, lines 234-242
234 235(function(w,d,s,l,i) { 236 w[l]=w[l]||[]; 237 w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'}); 238 var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; 239 j.async=true; 240 j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 241}) 242(window,document,'script','dataLayer','
242GTM-TLFP4R
vendor: 4 bytes, line 242
242');
243</script>
243<!-- End Google Tag Manager --> 244 245<!-- Jetpack Open Graph Tags --> 246<meta property="og:type" content="article" /> 247<meta property="og:title" content="Mobile Apps" /> 248<meta property="og:url" content="https://www.morningjournal.com/mobile-apps/" /> 249<meta property="og:description" content="Mobile Apps Here’s where to find The Morning Journal’s mobile apps: The Morning Journal for iOS (iPhone and iPad) The Morning Journal for Android " /> 250<meta property="article:published_time" content="2021-07-08T16:12:10+00:00" /> 251<meta property="article:modified_time" content="2021-07-09T23:02:54+00:00" /> 252<meta property="og:site_name" content="Morning Journal" /> 253<meta property="og:image" content="https://www.morningjournal.com/wp-content/uploads/2021/07/mornjourn.jpg" /> 254<meta property="og:image:width" content="1200" /> 255<meta property="og:image:height" content="630" /> 256<meta property="og:image:alt" content="" /> 257<meta property="og:locale" content="en_US" /> 258<meta name="twitter:image" content="https://www.morningjournal.com/wp-content/uploads/2021/07/mornjourn.jpg" /> 259<meta name="twitter:text:title" content="Mobile Apps" /> 260<meta name="twitter:card" content="summary" /> 261 262<!-- End Jetpack Open Graph Tags --> 263<link rel="icon" href="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-siteicon.png?w=16" sizes="32x32" /> 264<link rel="icon" href="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-siteicon.png?w=16" sizes="192x192" /> 265<link rel="apple-touch-icon" href="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-siteicon.png?w=16" /> 266<meta name="msapplication-TileImage" content="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-siteicon.png?w=16" /> 267 </head> 268 269 <body class="wp-singular page-template-default page page-id-137 wp-custom-logo wp-theme-wp-mason wp-child-theme-scng"> 270 271 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 271-272
271 272<noscript><iframe src='https://www.googletagmanager.com/ns.html?id=
272GTM-TLFP4R
vendor: 83 bytes, line 272
272' height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript>
273<!-- End Google Tag Manager (noscript) --> 274 <a href="#content" class="sr-only">Skip to content</a> 275 276 <div id="page" class="hfeed site"> 277 278 <div class="header-placeholder"></div><header class="site-header default headroom--top"> 279 <div class="nav-wrapper-primary"> 280 281 <div class="nav-wrapper-secondary "> 282 283 <div class="screen-wrapper"> 284 285 <div class="nav-primary-top"> 286 287 <div class="pushnav-flex-wrapper"> 288 <nav class="pushnav" role="navigation" aria-label="Main Menu" id="pushnav-container"><div id="menu-toggle" class="menu-toggle" role="button" aria-expanded="false" tabindex="0" aria-label="Open menu of all sections"><span class="icon-hamburger"></span><span class="menu-label">All Sections</span></div> 289 <div class="wrapper-nav pushnav"> 290 <div class="border-container"> 291 <div class="top-pushnav-container"> 292 <a href="https://checkout.morningjournal.com/?&g2i_or_o=Internet&g2i_or_p=nav&g2i_source=SB&g2i_medium=side-nav&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.morningjournal.com%252F" id="mega-subscribe-button" class="subscribe-button" > 293 <span>Subscribe Now</span> </a> 294 <div class="accuweather-wrap"> 295 <div class="weather-date"> 296 <div class='dfm_accuweather_current_conditions'> 297 <a target="_blank" href="http://www.accuweather.com/en/us/lorain-oh/44052/current-weather/18851_pc?lang=en-us&partner=mng_21" title="Current Weather Conditions" aria-label="Current temperature is 82°F, view full weather conditions in a new window"> 298 <span>82°F</span> 299 <i class="bi-cloud-sun" role="img" aria-label="weather icon cloud-sun"></i> 300 </a> 301 </div> <div class="date"> 302 Thursday, October 1st 2026 <a title="Link to E-Edition opens in a new window" target="_blank" href="https://enewspaper.morningjournal.com/"> 303 <p class="e-edition">E-Edition</p> </a> 304 </div> 305 </div> 306 </div> 307 <a href="https://www.morningjournal.com" class="home-link icon-home3" title="Link to Home Page"> 308 <span>Home Page</span> 309 </a> 310 </div> 311 <ul id="pushnav" class="menu"><li id="menu-item-76" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-76 menu-large"><a href="https://www.morningjournal.com/news/" aria-expanded="false" aria-haspopup="true">News</a> 312<ul class="sub-menu"> 313 <li id="menu-item-510299" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-510299 menu-large"><a href="https://www.morningjournal.com/news/">News</a></li> 314 <li id="menu-item-510242" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-510242 menu-large"><a href="https://www.morningjournal.com/local-news/">Local News</a></li> 315 <li id="menu-item-78" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-78 menu-large"><a href="https://www.morningjournal.com/news/crime-public-safety/">Crime and Public Safety</a></li> 316 <li id="menu-item-79" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-79 menu-large"><a href="https://www.morningjournal.com/business/">Business</a></li> 317 <li id="menu-item-994894" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-994894 menu-large"><a href="https://www.morningjournal.com/best-reviews/">Best Reviews</a></li> 318 <li id="menu-item-1386589" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1386589 menu-large"><a href="https://www.morningjournal.com/news/health/">Health</a></li> 319 <li id="menu-item-510244" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510244 menu-large"><a href="/location/ohio/lorain-county/">Lorain County</a></li> 320 <li id="menu-item-510245" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510245 menu-large"><a href="/location/ohio/cuyahoga-county/">Cuyahoga County</a></li> 321 <li id="menu-item-510246" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-510246 menu-large"><a href="https://www.morningjournal.com/news/ohio-news/">Ohio News</a></li> 322 <li id="menu-item-85" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-85 menu-large"><a href="https://www.morningjournal.com/news/national/">National News</a></li> 323 <li id="menu-item-510251" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510251 menu-large"><a href="/tag/lake-erie">Lake Erie</a></li> 324 <li id="menu-item-510253" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510253 menu-large"><a href="/tag/opioid-epidemic/">Opioid Epidemic</a></li> 325 <li id="menu-item-90" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-90 menu-large"><a href="https://www.morningjournal.com/news/politics/election/">Election</a></li> 326 <li id="menu-item-92" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-92 menu-large"><a href="https://www.morningjournal.com/traffic/">Traffic</a></li> 327 <li id="menu-item-1386528" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1386528 menu-large"><a href="https://www.morningjournal.com/news/world/">World News</a></li> 328</ul> 329</li> 330<li id="menu-item-93" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-93 menu-large"><a href="https://www.morningjournal.com/sports/" aria-expanded="false" aria-haspopup="true">Sports</a> 331<ul class="sub-menu"> 332 <li id="menu-item-94" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-94 menu-large"><a href="https://www.morningjournal.com/sports/">Sports</a></li> 333 <li id="menu-item-95" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-95 menu-large"><a href="https://www.morningjournal.com/sports/high-school-sports/">High School Sports</a></li> 334 <li id="menu-item-96" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-96 menu-large"><a href="https://www.morningjournal.com/sports/nfl/cleveland-browns/">Cleveland Browns</a></li> 335 <li id="menu-item-97" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-97 menu-large"><a href="https://www.morningjournal.com/sports/nba/cleveland-cavaliers/">Cleveland Cavaliers</a></li> 336 <li id="menu-item-98" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-98 menu-large"><a href="https://www.morningjournal.com/sports/mlb/cleveland-guardians/">Cleveland Guardians</a></li> 337 <li id="menu-item-510258" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510258 menu-large"><a href="/tag/ohio-state/">Ohio State</a></li> 338 <li id="menu-item-510274" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510274 menu-large"><a href="/tag/crushers/">Lake Erie Crushers</a></li> 339 <li id="menu-item-510275" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510275 menu-large"><a href="/tag/ironmen/">Lorain County Ironmen</a></li> 340 <li id="menu-item-510261" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510261 menu-large"><a href="/tag/monsters">Monsters</a></li> 341</ul> 342</li> 343<li id="menu-item-107" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-107 menu-large"><a href="https://www.morningjournal.com/things-to-do/" aria-expanded="false" aria-haspopup="true">Things to Do</a> 344<ul class="sub-menu"> 345 <li id="menu-item-108" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-108 menu-large"><a href="https://www.morningjournal.com/things-to-do/">Things to Do</a></li> 346 <li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-109 menu-large"><a href="https://www.morningjournal.com/things-to-do/entertainment/">Entertainment</a></li> 347 <li id="menu-item-110" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-110 menu-large"><a href="https://www.morningjournal.com/things-to-do/movies/">Movies</a></li> 348 <li id="menu-item-111" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-111 menu-large"><a href="https://www.morningjournal.com/things-to-do/music-concerts/">Music and Concerts</a></li> 349 <li id="menu-item-112" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-112 menu-large"><a href="https://www.morningjournal.com/things-to-do/theater/">Theater</a></li> 350 <li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-113 menu-large"><a href="https://www.morningjournal.com/things-to-do/restaurants-food-drink/">Restaurants Food and Drink</a></li> 351 <li id="menu-item-510301" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-510301 menu-large"><a href="/tag/recipes/">Recipes</a></li> 352 <li id="menu-item-116" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-116 menu-large"><a href="https://www.morningjournal.com/things-to-do/travel/">Travel</a></li> 353 <li id="menu-item-118" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118 menu-large"><a href="https://www.morningjournal.com/tv-listings/">TV Listings</a></li> 354 <li id="menu-item-119" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-119 menu-large"><a href="https://www.comicskingdom.com/?utm_source=dfm">Comics</a></li> 355 <li id="menu-item-120" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-120 menu-large"><a href="https://www.comicskingdom.com/puzzles/?utm_source=dfm">More Puzzles</a></li> 356 <li id="menu-item-710395" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-710395 menu-large"><a href="https://www.morningjournal.com/jumble-and-more/">Jumble and More</a></li> 357 <li id="menu-item-765187" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-765187 menu-large"><a href="https://www.morningjournal.com/events/">Events</a></li> 358</ul> 359</li> 360<li id="menu-item-121" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-121 menu-large"><a href="https://www.morningjournal.com/opinion/">Opinion</a></li> 361<li id="menu-item-821584" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-821584 menu-large"><a href="https://www.morningjournal.com/obituaries/" aria-expanded="false" aria-haspopup="true">Obituaries</a> 362<ul class="sub-menu">
363 <li id="menu-item-821588" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-821588 menu-large"><a href="https://www.morningjournal.com/obituaries/">Obituaries</a></li> 364 <li id="menu-item-821585" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-821585 menu-large"><a href="https://www.morningjournal.com/news/news-obituaries/">News Obituaries</a></li> 365 <li id="menu-item-821586" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-821586 menu-large"><a href="https://placeanad.ohclassifiedads.com/obituaries-mj/">Place an Obituary</a></li> 366</ul> 367</li> 368<li id="menu-item-123" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-123 menu-large"><a href="#" aria-expanded="false" aria-haspopup="true">Marketplace</a> 369<ul class="sub-menu"> 370 <li id="menu-item-124" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-124 menu-large"><a href="https://jobs.morningjournal.com/">Jobs</a></li> 371 <li id="menu-item-125" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-125 menu-large"><a href="https://marketplace.ohclassifiedads.com/">Classifieds</a></li> 372</ul> 373</li> 374<li id="menu-item-126" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-126 menu-large"><a href="#" aria-expanded="false" aria-haspopup="true">Tools</a> 375<ul class="sub-menu"> 376 <li id="menu-item-128" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-128 menu-large"><a href="https://www.morningjournal.com/contact-us/">Contact Us</a></li> 377 <li id="menu-item-130" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-130 menu-large"><a href="https://www.morningjournal.com/advertise/">Advertise</a></li> 378 <li id="menu-item-132" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-132 menu-large"><a href="https://www.morningjournal.com/contests/">Contests</a></li> 379 <li id="menu-item-134" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-134 menu-large"><a href="https://www.morningjournal.com/submit-announcements/">Submit Announcements</a></li> 380 <li id="menu-item-136" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-136 menu-large"><a href="https://www.morningjournal.com/newsstand-locations/">Newsstand Locations</a></li> 381 <li id="menu-item-138" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-138 menu-large"><a href="https://www.morningjournal.com/mobile-apps/">Mobile Apps</a></li> 382 <li id="menu-item-142" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-142 menu-large"><a href="https://www.morningjournal.com/gasbuddy/">GasBuddy</a></li> 383 <li id="menu-item-143" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-143 menu-large"><a href="https://www.ohiolottery.com/">Lottery</a></li> 384</ul> 385</li> 386<li id="menu-item-1818926" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1818926 menu-large"><a href="https://www.morningjournal.com/best-reviews/">BestReviews</a></li> 387<li id="menu-item-1329015" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1329015 menu-large"><a href="https://www.morningjournal.com/branded-content/" aria-expanded="false" aria-haspopup="true">Branded Content</a> 388<ul class="sub-menu"> 389 <li id="menu-item-1329016" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1329016 menu-large"><a href="https://www.morningjournal.com/sponsor-content-hub/?ntv_adpz=4078">Paid Content by Brandpoint</a></li> 390</ul> 391</li> 392<li id="menu-item-496608" class="subscribe-visibility subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-496608"><a href="https://checkout.morningjournal.com/?&g2i_or_o=Internet&g2i_or_p=nav&g2i_source=SB&g2i_medium=side-nav&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.morningjournal.com%252F">Subscribe</a></li> 393<li id="menu-item-496607" class="log-in-button subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-496607 menu-large"><a href="https://www.morningjournal.com/login">Log in</a></li> 394<li id="menu-item-496606" class="log-out-button menu-item menu-item-type-custom menu-item-object-custom menu-item-496606 menu-large"><a href="/logout">Logout</a></li> 395</ul> </div> 396 <div class="newsletter-nav"> 397 <div class="newsletter-simple"> 398 <div class="newsletter-item"> 399 <p class="prompt">Sign up for email newsletters</p> 400 <a class="sign-up-button" href="https://myaccount.morningjournal.com/mj/preference" 401 aria-label="Click here to go to the newsletter sign up page"> 402 Sign Up</a> 403 </div> 404 </div> 405 </div> 406 </div> 407 </nav> 408 </div> 409 <div class="hidden-logo logo-display"> 410 <div class="logo custom-logo"><a href="https://www.morningjournal.com" aria-label="Morning Journ
410al"><img src="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-logo.png" alt="Morning Journal"></a></div> </div> 411 <div class="digisubs-wrapper"> 412 <nav class="digisubs-pushmenu hidden" role="navigation" aria-label="Account Menu" id="digisubs-push-container"> 413 <div id="digisubs-toggle" class="digisubs-toggle pushnav" role="button" aria-expanded="false" tabindex="0" aria-label="Open menu"> 414 <div id="mng-icon-image"> 415 <img id="pushnav-icon" alt=""> 416 <div id="blank-icon-user"> 417 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 32 32"> 418 <path fill="#000000" d="M18 22.082v-1.649c2.203-1.241 4-4.337 4-7.432 0-4.971 0-9-6-9s-6 4.029-6 9c0 3.096 1.797 6.191 4 7.432v1.649c-6.784 0.555-12 3.888-12 7.918h28c0-4.030-5.216-7.364-12-7.918z"></path> 419 </svg> 420 </div> 421 <span class="icon-arrow-down"></span> 422 </div> 423 </div> 424 <div class="wrapper-nav-subs pushnav"> 425 <div class="border-container"> 426 <ul id="dfm-digisubs-push-menu" class="menu"><li id="menu-item-770965" class="subscribe-visibility subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-770965"><a href="https://checkout.morningjournal.com/?&g2i_or_o=Internet&g2i_or_p=nav&g2i_source=SB&g2i_medium=nav2&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.morningjournal.com%252F">Subscribe</a></li> 427<li id="menu-item-770966" class="log-in-button subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-770966"><a href="/login/">Log in</a></li> 428</ul> <div id="push-account-content"> 429 <div class="show-digisubs-push" id="email-source-wrapper"> 430 <a class="account-link" id="push-email-link"></a> 431 <p class="logged-in-source" id="push-auth-source"></p> 432 </div> 433 <a class="show-digisubs-push account-link" id="push-account-link" data-mng-click="account-settings" data-mng-category="account-link" data-mng-action="account-settings">Account Settings</a> 434 <a class="show-digisubs-push" id="push-contact-us" href="/contact-us" data-mng-click="contact-us" data-mng-category="account-link" data-mng-action="contact-us">Contact Us</a> 435 <a class="show-digisubs-push" id="push-log-out" href="/logout" data-mng-click="log-out" data-mng-category="account-link" data-mng-action="log-out">Log Out</a> 436 <div class="show-digisubs-push marketing-slot" id="push-marketing-slot"></div> 437 <label class="user-spoof">Spoof a user</label> 438 <input id="push-user-spoof-control" class="user-spoof" type="checkbox"> 439 <ul id="newsLetterItem-push" class="newsLetterContent"></ul> 440 </div> 441 </div> 442 <div class="newsletter-nav"> 443 <div class="newsletter-simple"> 444 <div class="newsletter-item"> 445 <p class="prompt">Sign up for email newsletters</p> 446 <a class="sign-up-button" href="https://myaccount.morningjournal.com/mj/preference" 447 aria-label="Click here to go to the newsletter sign up page"> 448 Sign Up</a> 449 </div> 450 </div> 451 </div> 452 </div> 453 </nav> 454 <div class="digisubs-wrapper-large" id="digisubs-wrapper-large"> 455 <ul id="dfm-digisubs-menu" class="menu"><li id="menu-item-609566" class="subscribe-visibility subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-609566"><a href="https://checkout.morningjournal.com/?&g2i_or_o=Internet&g2i_or_p=nav&g2i_source=SB&g2i_medium=nav2&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.morningjournal.com%252F">Subscribe</a></li> 456<li id="menu-item-609567" class="log-in-button subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-609567"><a href="/login/">Log in</a></li> 457</ul> </div> 458 </div> 459 <div class="search-icon-wrapper"><span class="icon-search" aria-label="Click here or hit enter to open a Search box" id="dfm-search-icon" role="button" tabindex=0 aria-expanded="false"></span></div><form class="search-form header-search" method="GET" id="search-bar" action="https://www.morningjournal.com/"> 460 461 <div class="input-wrapper"> 462 <span class="icon-search" aria-hidden="true"></span> 463 <input id="mng-search-focus" type="text" placeholder="Type your search" name="s" aria-label="Type your search"> 464 <input name="orderby" type="hidden" value="relevance"/> 465 <input name="order" type="hidden" value="desc"/> 466 <div class="search-button-container"> 467 <button class="search-button" type="submit"> 468 <span>Search</span> 469 </button> 470 </div> 471 </div> 472 473</form> 474 475 476 </div> 477 478 </div> 479 480 <div class="nav-primary-middle"> 481 482 <div class="accuweather-wrap"> 483 <div class="weather-date"> 484 <div class='dfm_accuweather_current_conditions'> 485 <a target="_blank" href="http://www.accuweather.com/en/us/lorain-oh/44052/current-weather/18851_pc?lang=en-us&partner=mng_21" title="Current Weather Conditions" aria-label="Current temperature is 82°F, view full weather conditions in a new window"> 486 <span>82°F</span> 487 <i class="bi-cloud-sun" role="img" aria-label="weather icon cloud-sun"></i> 488 </a> 489 </div> <div class="date"> 490 Thursday, October 1st 2026 <a title="Link to E-Edition opens in a new window" target="_blank" href="https://enewspaper.morningjournal.com/"> 491 <p class="e-edition">E-Edition</p> </a> 492 </div> 493 </div>
494 </div> 495 <div class="hidden-logo"><div class="logo custom-logo"><a href="https://www.morningjournal.com" aria-label="Morning Journal"><img src="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-logo.png" alt="Morning Journal"></a></div></div> <div class="sponsorship-ad-wrapper"> 496 <div class="dfp-ad dfp-sponsorship_1" id="div-gpt-ad-sponsorship_1" style="visibility:hidden"> 497 <div class="htlad-sponsorship_1" data-unit='morningjournal.com/mobile-apps/sponsorship_1' data-targeting=''></div> 498 </div> </div> 499 500 </div> 501 502 <div class="nav-primary-bottom"> 503 504 <div class="nav-primary"> 505 <ul id="subnav-tools-menu" class="menu"><li id="menu-item-608113" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608113"><a href="https://www.morningjournal.com/contact-us/">Contact Us</a></li> 506<li id="menu-item-608114" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608114"><a href="https://www.morningjournal.com/advertise/">Advertise</a></li> 507<li id="menu-item-608115" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608115"><a href="https://www.morningjournal.com/contests/">Contests</a></li> 508<li id="menu-item-608116" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608116"><a href="https://www.morningjournal.com/submit-announcements/">Submit Announcements</a></li> 509<li id="menu-item-608117" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608117"><a href="https://www.morningjournal.com/newsstand-locations/">Newsstand Locations</a></li> 510<li id="menu-item-608118" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608118"><a href="https://www.morningjournal.com/mobile-apps/">Mobile Apps</a></li> 511<li id="menu-item-608122" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-608122"><a href="https://www.morningjournal.com/gas-buddy/">Gas Buddy</a></li> 512<li id="menu-item-608123" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-608123"><a href="https://www.ohiolottery.com/">Lottery</a></li> 513</ul> </div> 514 515 </div> 516 517 </div> 518 519 520<div class="widget widget-trending-stories"><div class="trending-bar trending"> 521 <div class="trending-bar-wrapper"> 522 <p class="label">
523 TRENDING: </p> 524 <nav> 525 <ul> 526 <li class="entry-title "> 527 528 <a class="article-title" href="https://www.morningjournal.com/2026/10/01/lindsay-clancy-trial-defense-motion/" title="Judge denies defense motion asking Lindsay Clancy be found not guilty due to a lack of evidence"> 529 530 <span class="dfm-title metered"> 531 Judge denies defense motion asking Lindsay Clancy be found not guilty due to a lack of evidence </span> 532 533 534 535 </a> 536 537 538 </li> 539 </ul> 540 </nav> 541 </div> 542</div> 543 544</div><div class="breadcrumbs"> 545 <div class="breadcrumbs-bar"><a href="https://www.morningjournal.com/" class="page-home">Home</a><span class="icon-arrow-right"></span><span class="current-page">Mobile Apps</span></div></div> 546 547 </div> 548 </header><div id="content" class="site-content"> 549 <div class="header-banners"> 550 <div class="dfp-ad dfp-interstitial" id="div-gpt-ad-interstitial" style="visibility:hidden"> 551 <div class="htlad-interstitial" data-unit='morningjournal.com/mobile-apps/interstitial' data-targeting=''></div> 552 </div> <div class="dfp-ad dfp-top_leaderboard" id="div-gpt-ad-top_leaderboard" style="visibility:hidden"> 553 <div class="htlad-top_leaderboard" data-unit='morningjournal.com/mobile-apps/top_leaderboard' data-targeting=''></div> 554 </div> </div> 555 556 <div id="primary" class="content-area"><main id="main" class="site-main" role="main"> <article id="page-137" class="post-137 page type-page status-publish hentry"> 557 <div class="article-body"> 558 <div class="body-copy"> 559 <h1>Mobile Apps</h1> 560<p>Here’s where to find The Morning Journal’s mobile apps:</p> 561<p><a href="https://itunes.apple.com/us/app/morning-journal-for-iphone/id520205939?mt=8">The Morning Journal for iOS (iPhone and iPad)</a></p> 562<p><a href="https://play.google.com/store/apps/details?id=com.spreedinc.providers.digitalfirstmedia.morningjournal">The Morning Journal for Android</a></p> 563<p> </p> 564 </div> 565 </div> 566 </article><!-- #post-## --> 567 <div class="dfp-ad dfp-bottom_leaderboard" id="div-gpt-ad-bottom_leaderboard" style="visibility:hidden"> 568 <div class="htlad-bottom_leaderboard" data-unit='morningjournal.com/mobile-apps/bottom_leaderboard' data-targeting=''></div> 569 </div></main></div> 570 571 </div><!-- #content --> 572 573 <footer class="site-footer"> 574 575 <div class="main-footer-wrapper"> 576 577 <div class="footer-logo"> 578 579 <div class="logo custom-logo"><a href="https://www.morningjournal.com" aria-label="Morning Journal"><img src="https://www.morningjournal.com/wp-content/uploads/2021/07/MorningJournal-logo.png" alt="Morning Journal"></a></div> 580 </div> 581 582 <ul id="footer-menu" class="footer-menus"><li id="menu-item-633066" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-633066"><a href="https://myaccount.morningjournal.com/">Subscriber Services</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 583 584<ul class="footer-menu"> 585 <li id="menu-item-633067" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633067"><a href="https://checkout.morningjournal.com/?&g2i_or_o=Internet&g2i_or_p=nav&g2i_source=SB&g2i_medium=footer&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.morningjournal.com%252F">Subscribe</a></li> 586 <li id="menu-item-633068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633068"><a href="https://myaccount.morningjournal.com/mj/preference">Sign Up For Newsletters</a></li> 587 <li id="menu-item-633069" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633069"><a href="https://enewspaper.morningjournal.com/">e-Edition</a></li> 588 <li id="menu-item-1473028" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1473028"><a href="https://www.morningjournal.com/digital-subscription-frequently-asked-questions/">Digital Subscription FAQ</a></li> 589 <li id="menu-item-745634" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-745634"><a href="https://www.morningjournal.com/sitemap/">Sitemap</a></li> 590</ul> 591</li> 592<li id="menu-item-633070" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-633070"><a href="https://www.morningjournal.com/contact-us/">Contact Us</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 593 594<ul class="footer-menu"> 595 <li id="menu-item-633071" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633071"><a href="https://myworkdaycenter.wd5.myworkdayjobs.com/MNG">Work With Us</a></li> 596 <li id="menu-item-633072" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633072"><a href="https://www.morningjournal.com/submit-announcements/">Submit Announcements</a></li> 597 <li id="menu-item-633073" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633073"><a href="https://apps.apple.com/us/app/the-morning-journal/id520205939">iOS App</a></li> 598 <li id="menu-item-633074" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633074"><a href="https://play.google.com/store/apps/details?id=com.spreedinc.providers.digitalfirstmedia.morningjournal">Android App</a></li> 599 <li id="menu-item-633075" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633075"><a href="https://www.news-herald.com/">News-Herald</a></li> 600 <li id="menu-item-633076" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633076"><a href="https://www.medianewsgroup.com/privacy-policy/">Privacy Policy</a></li> 601 <li id="menu-item-633077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633077"><a href="https://www.medianewsgroup.com/accessibility-statement/">Accessibility</a></li> 602</ul> 603</li> 604<li id="menu-item-633078" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-633078"><a href="https://jobs.morningjournal.com/">Jobs</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 605 606<ul class="footer-menu"> 607 <li id="menu-item-633079" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633079"><a href="http://marketplace.ohclassifiedads.com/">Classifieds</a></li> 608 <li id="menu-item-633080" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633080"><a href="https://www.digitalfirstmedia.com/advertise-with-us">Network Advertising</a></li> 609 <li id="menu-item-633081" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633081"><a href="https://marketplace.ohclassifiedads.com/">Place Classified Ad</a></li> 610 <li id="menu-item-633082" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-633082"><a href="https://www.morningjournal.com/advertise/">Advertising Inquiry</a></li> 611</ul> 612</li> 613<li class="mng-follow"><div class="footer-follow"></div> 614 <a href="https://checkout.morningjournal.com/?&g2i_or_o=Internet&g2i_or_p=nav&g2i_source=SB&g2i_medium=side-nav&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.morningjournal.com%252F" class="subscribe-button"> 615 <span>Subscribe Now</span> </a> 616 617 </li></ul> 618 </div> 619 620 <div class="dfm-site-info"> 621 622 <div class="colophon"> 623 624 <div class="footer-flex-menu-wrap"><ul id="footer-bottom-menu" class="menu"><li id="menu-item-170" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-170"><a href="https://www.medianewsgroup.com/terms-of-use/">Terms of Use</a></li> 625<li id="menu-item-172" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-172"><a href="https://www.medianewsgroup.com/cookie-policy/">Cookie Policy</a></li> 626<li id="menu-item-1058494" class="cookie-policy-click menu-item menu-item-type-custom menu-item-object-custom menu-item-1058494"><a href="#">Cookie Preferences</a></li> 627<li id="menu-item-706475" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-706475"><a href="https://www.medianewsgroup.com/privacy-policy/#911-notice-at-collection-the-personal-information-that-we-collect">California Notice at Collection</a></li> 628<li id="menu-item-706476" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-706476"><a href="https://www.medianewsgroup.com/privacy-policy/#916-notice-
628of-financial-incentive">Notice of Financial Incentive</a></li> 629<li id="menu-item-706477" class="cookie-policy-click menu-item menu-item-type-custom menu-item-object-custom menu-item-706477"><a href="#">Do Not Sell/Share My Personal Information</a></li> 630<li id="menu-item-173" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-173"><a href="https://www.medianewsgroup.com/arbitration/">Arbitration</a></li> 631<li id="menu-item-174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-174"><a href="https://www.medianewsgroup.com">MediaNews Group</a></li> 632<li id="menu-item-175" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-175"><a href="https://vip.wordpress.com/">Powered by WordPress.com VIP</a></li> 633</ul><div class="footer-copyright-notice"><p>Copyright 2026 Morning Journal. All rights reserved. The use of any content on this website for the purpose of training artificial intelligence systems, algorithms, machine learning models, text and data mining, or similar use is strictly prohibited without explicit written consent.</p></div> </div> 634 </div> 635 636 </div> 637 638 </footer><!-- .site-footer --> 639 640 </div><!-- #page --> 641 642
642<script> 643 (function(w) { 644 if ( null !== document.cookie.match(/^(.*;)?\s*auth0_sub\s*=\s*[^;]+(.*)?$/) ) { 645 w.PARSELY = { 646 autotrack: false, 647 onReady: function() { 648 PARSELY.updateDefaults({ 649 data: { 650 plan: "subscriber" 651 } 652 }); 653 PARSELY.beacon.trackPageView(); 654 } 655 }; 656 } 657 })(window); 658 </script>
658<div id="mobile-adhesion" class="closed"><button class="close-mobile-adhesion" onclick="closeMobileAdhesionAd()" onkeydown="keyboardHandler(event)">Close</button> 659
659<script> 660 function closeMobileAdhesionAd() { 661 document.getElementById("mobile-adhesion").classList.add("closed"); 662 } 663 664 function keyboardHandler(e) { 665 var keycode = ( e.keyCode ? e.keyCode : e.which ); 666 if (keycode == "13") { 667 closeMobileAdhesionAd(); 668 } 669 } 670 </script>
670 671 <div class="dfp-ad dfp-mobile_adhesion" id="div-gpt-ad-mobile_adhesion" style="visibility:hidden"> 672 <div class="htlad-mobile_adhesion" data-unit='morningjournal.com/mobile-apps/mobile_adhesion' data-targeting=''></div> 673 </div></div>
673<script type='text/javascript'> 674/* <![CDATA[ */ 675if ( 'undefined' !== typeof _snaq ) { 676_snaq.push(['setAuthor', 'dfmadmin']); 677_snaq.push(['setArticlePublishTime','2021-07-08T12:12:10-04:00']); 678_snaq.push(['setSection', 'Mobile Apps']); 679} 680/* ]]> */ 681</script>
vendor: 1 bytes, line 681
681
682<script src="https://www.morningjournal.com/var/www/wp-content/plugins/mng-htl/dist/js/mngHtlMods.min.js?ver=1790371222" id="__htl_mods-js"></script>
vendor: 1 bytes, line 682
682
683<script src="https://htlbid.com/v3/morningjournal.com/htlbid.js" id="__htl_script-js" data-wp-strategy="async"></script>
vendor: 1 bytes, line 683
683
684<script id="__htl_script-js-after"> 685 window.htlbid = window.htlbid || {}; 686 htlbid.cmd = htlbid.cmd || []; 687 htlbid.cmd.push( function() { 688 htlbid.layout( 'universal' ); 689 htlbid.setTargeting( "is_testing","no" ); 690 htlbid.setTargeting( "kv", ["mobile-apps","page"] ); 691 htlbid.setTargeting( "page", "page" ); 692 htlbid.setTargeting( "content", [] ); 693 htlbid.setTargeting( "RPN", "378683876512" ); 694 htlbid.setTargeting( "rurl", "https://www.morningjournal.com/" ); 695 htlbid.setTargeting( "articleid", "" ); 696 window.htlbid.pubads().setPublisherProvidedId( "6d57c7bcbe6ecdb78057199b259c8bf5353ff64fd47626d01145803dd1da6f94" ); 697 } ); 698//# sourceURL=__htl_script-js-after 699</script>
vendor: 1 bytes, line 699
699
700<script type="text/javascript" src="https://www.morningjournal.com/_static/??-eJyVy0EKwjAQBdALaceCELsQF54ktKOdkMyE/knFnl4FF27dPnj0qPvR1FmdfObCoLeUCFOaBE4JZIhq1wa30hXRLmFHP63mdhcF1dnc9CY508o62UJVRm8Lf+i/mOP2hGyMb7uUcx+GQxhOoT+mF024Q2g=" ></script>
700<script src="https://ak.sail-horizon.com/spm/spm.v1.min.js" id="mng-newsletters-sailthru-scout-js" data-wp-strategy="async"></script>
vendor: 1 bytes, line 700
700
701<script id="mng-newsletters-sailthru-scout-js-after"> 702Sailthru.init( {"customerId":"ca78a3a2ac950c3765168cd0547c8adb","autoTrackPageview":true,"useStoredTags":true,"excludeContent":false} ); 703//# sourceURL=mng-newsletters-sailthru-scout-js-after 704</script>
vendor: 1 bytes, line 704
704
705<script type="text/javascript" src="https://www.morningjournal.com/wp-includes/js/dist/hooks.min.js?m=1790088657g" ></script>
705<script src="https://www.morningjournal.com/wp-includes/js/dist/i18n.min.js?ver=c26c3dc7bed366793375" id="wp-i18n-js"></script>
vendor: 1 bytes, line 705
705
706<script id="wp-i18n-js-after"> 707wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 708wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 709//# sourceURL=wp-i18n-js-after 710</script>
vendor: 1 bytes, line 710
710
711<script id="wp-parsely-loader-js-before"> 712window.wpParselySiteId = 'morningjournal.com'; 713//# sourceURL=wp-parsely-loader-js-before 714</script>
vendor: 1 bytes, line 714
714
715<script src="https://www.morningjournal.com/wp-content/mu-plugins/wp-parsely-3.24/build/loader.js?ver=ecf94842061bea03d54b" id="wp-parsely-loader-js"></script>
vendor: 1 bytes, line 715
715
716<script data-parsely-site="morningjournal.com" src="https://cdn.parsely.com/keys/morningjournal.com/p.js?ver=3.24.1" id="parsely-cfg"></script>
vendor: 1 bytes, line 716
716
717<script src="https://www.morningjournal.com/wp-content/themes/wp-mason/dist/js/ads.min.js?ver=1.0" id="can-run-ads-js"></script>
vendor: 1 bytes, line 717
717
718<script type="text/javascript" src="https://www.morningjournal.com/_static/??-eJyVzkEOgkAMheELiQU2ysIYlpzAdWXKMDjtEFo13F40LlwYI9uXfHk/3MesTWIkBtYTkwKqkimooYUWBoUxxbkLMeqWg2wH3cAfiJOjSQgn6+cfblkYNQm4oPZ0MfnUsK/Npm9sjFcfRMF1nKHLlhf9oOjqV8daqaXcgqO0KjTIBc+RGkZPp+A82Zsf+VDsqnxf5WVVDA+GKIMH" ></script>
718<script id="digisubs-social-login-js-after"> 719(function () { 720 var logPrefix = '[digisubs-social-login]'; 721 var readyTimeoutMs = 10000; 722 var pendingFlag = 'mng-digisubs-regwall-social'; 723 var reloadedFlag = 'mng-digisubs-regwall-social-reloaded'; 724 var newsletterDoneFlag = 'mng-digisubs-regwall-nl-done'; 725 726 function isEmbedReady() { 727 return !!document.querySelector('#mng-modal'); 728 } 729 730 function getAuthReady() { 731 return (window.MNGAuth && window.MNGAuth.authenticationReady) 732 || (window.MNGAuthentication && window.MNGAuthentication.authenticationReady) 733 || null; 734 } 735 736 function decodeJwt(token) { 737 try { 738 var parts = token.split('.'); 739 if (parts.length < 2) { 740 return null; 741 } 742 var base64 = parts[1].replace(/-/g, '+').replace(/_/g, '/'); 743 while (base64.length % 4) { 744 base64 += '='; 745 } 746 return JSON.parse(atob(base64)); 747 } catch (e) { 748 return null; 749 } 750 } 751 752 function isAuthenticated() { 753 var ready = getAuthReady(); 754 if (ready && ready.isAuthenticated) { 755 return true; 756 } 757 return hasMngSessionIdToken(); 758 } 759 760 function getMngSession() { 761 try { 762 return JSON.parse(window.localStorage.getItem('__MNG_Session') || 'null'); 763 } catch (e) { 764 return null; 765 } 766 } 767 768 function hasMngSessionIdToken() { 769 var session = getMngSession(); 770 return !!(session && typeof session.idToken === 'string' && session.idToken.length > 20); 771 } 772 773 function waitForNativeSession() { 774 return new Promise(function (resolve) { 775 if (hasMngSessionIdToken()) { 776 resolve(true); 777 return; 778 } 779 var started = Date.now(); 780 var poll = window.setInterval(function () { 781 if (hasMngSessionIdToken()) { 782 window.clearInterval(poll); 783 console.info(logPrefix, 'native __MNG_Session is ready'); 784 resolve(true); 785 } else if (Date.now() - started > 15000) { 786 window.clearInterval(poll); 787 console.warn(logPrefix, 'timed out waiting for native __MNG_Session'); 788 resolve(false); 789 } 790 }, 100); 791 }); 792 } 793 794 function isEntitledSubscriber() { 795 var match = document.cookie.match(/(?:^|; )mng-entitlements=([^;]*)/); 796 if (!match) { 797 return false; 798 } 799 var payload = decodeJwt(decodeURIComponent(match[1])); 800 return !!(payload && payload.entitlement_entitled); 801 } 802 803 function getAuthEmail() { 804 var ready = getAuthReady(); 805 if (ready && ready.claims && ready.claims.email) { 806 return ready.claims.email; 807 } 808 if (ready && typeof ready.idToken === 'string') { 809 var claims = decodeJwt(ready.idToken); 810 if (claims && claims.email) { 811 return claims.email; 812 } 813 } 814 var session = getMngSession(); 815 if (session && session.email) { 816 return session.email; 817 } 818 if (session && session.idToken) { 819 var sessionClaims = decodeJwt(session.idToken); 820 if (sessionClaims && sessionClaims.email) { 821 return sessionClaims.email; 822 } 823 } 824 return ''; 825 } 826 827 function hideSocialLogin() { 828 document.querySelectorAll('.digisubs-social-login').forEach(function (el) { 829 el.classList.add('is-hidden'); 830 el.setAttribute('hidden', 'hidden'); 831 }); 832 } 833 834 function grantRegwallAccessCookies() { 835 var pathname = window.location.pathname; 836 document.cookie = 'entitled_via_newsletter=true; path=' + pathname + '; max-age=1800'; 837 document.cookie = 'sspw_has-nl-registration=true; path=/; max-age=604800'; 838 if (typeof demeter === 'function') { 839 demeter('userProperties', { args: { visitorType: 'registered' } }); 840 } 841 console.info(logPrefix, 'granted limited article access cookies'); 842 } 843 844 function waitForEngageSubscribe() { 845 return new Promise(function (resolve, reject) { 846 if (window.engageLibrary && typeof window.engageLibrary.sspwSuscribeToNewsletter === 'function') { 847 resolve(); 848 return; 849 } 850 var started = Date.now(); 851 var poll = window.setInterval(function () { 852 if (window.engageLibrary && typeof window.engageLibrary.sspwSuscribeToNewsletter === 'function') { 853 window.clearInterval(poll); 854 resolve(); 855 } else if (Date.now() - started > readyTimeoutMs) { 856 window.clearInterval(poll); 857 reject(new Error('engageLibrary.sspwSuscribeToNewsletter not available')); 858 } 859 }, 100); 860 }); 861 } 862 863 function subscribeRegwallNewsletter() { 864 var prefId = window.authentication_config && window.authentication_config.regwallPrefId; 865 if (!prefId) { 866 console.info(logPrefix, 'no regwallPrefId, skipping newsletter subscribe'); 867 return Promise.resolve(false); 868 } 869 var email = getAuthEmail(); 870 if (!email) { 871 console.warn(logPrefix, 'no auth email, skipping newsletter subscribe'); 872 return Promise.resolve(false); 873 } 874 return waitForEngageSubscribe().then(function () { 875 console.info(logPrefix, 'subscribing', email, 'to prefId', prefId); 876 return window.engageLibrary.sspwSuscribeToNewsletter(email, Number(prefId)); 877 }); 878 } 879 880 function waitForAuthEmail() { 881 return new Promise(function (resolve) { 882 var email = getAuthEmail(); 883 if (email) { 884 resolve(email); 885 return; 886 } 887 var started = Date.now(); 888 var poll = window.setInterval(function () { 889 var nextEmail = getAuthEmail(); 890 if (nextEmail) { 891 window.clearInterval(poll); 892 resolve(nextEmail); 893 } else if (Date.now() - started > readyTimeoutMs) { 894 window.clearInterval(poll); 895 resolve(''); 896 } 897 }, 50); 898 }); 899 } 900 901 function urlWithoutWallOverride() { 902 var url = new URL(window.location.href); 903 if (!url.searchParams.has('wall_override')) { 904 return ''; 905 } 906 url.searchParams.delete('wall_override'); 907 return url.pathname + url.search + url.hash; 908 } 909 910 function dropWallOverrideFromAddressBar() { 911 var cleanPath = urlWithoutWallOverride(); 912 if (!cleanPath) { 913 return false;
914 } 915 window.history.replaceState({}, '', window.location.origin + cleanPath); 916 console.info(logPrefix, 'removed wall_override from the URL before embed login reload'); 917 return true; 918 } 919 920 (function patchLocationReload() { 921 try { 922 var originalReload = window.location.reload.bind(window.location); 923 window.location.reload = function () { 924 if (sessionStorage.getItem(pendingFlag) === '1') { 925 var cleanPath = urlWithoutWallOverride(); 926 if (cleanPath) { 927 console.info(logPrefix, 'embed login reload: dropping wall_override'); 928 window.location.replace(window.location.origin + cleanPath); 929 return; 930 } 931 } 932 return originalReload(); 933 }; 934 } catch (e) {} 935 })(); 936 937 var finishingSocialLogin = false; 938 939 function finishRegwallSocialLogin() { 940 if (finishingSocialLogin) { 941 return; 942 } 943 finishingSocialLogin = true; 944 hideSocialLogin(); 945 946 waitForAuthEmail().then(function () { 947 if (sessionStorage.getItem(newsletterDoneFlag) === '1') { 948 return false; 949 } 950 return subscribeRegwallNewsletter().then(function (ok) { 951 sessionStorage.setItem(newsletterDoneFlag, '1'); 952 console.info(logPrefix, 'newsletter subscribe', ok ? 'succeeded' : 'skipped or failed'); 953 return ok; 954 }); 955 }).catch(function (err) { 956 console.error(logPrefix, 'newsletter subscribe error', err); 957 }).then(function () { 958 if (!isEntitledSubscriber()) { 959 grantRegwallAccessCookies(); 960 } 961 return waitForNativeSession(); 962 }).then(function (hasSession) { 963 if (!hasSession) { 964 console.warn(logPrefix, 'embed login did not persist __MNG_Session'); 965 } 966 dropWallOverrideFromAddressBar(); 967 sessionStorage.removeItem(pendingFlag); 968 sessionStorage.removeItem(reloadedFlag); 969 sessionStorage.removeItem(newsletterDoneFlag); 970 finishingSocialLogin = false; 971 }); 972 } 973 974 function onAuthenticated() { 975 hideSocialLogin(); 976 if (sessionStorage.getItem(pendingFlag) === '1') { 977 dropWallOverrideFromAddressBar(); 978 finishRegwallSocialLogin(); 979 } 980 } 981 982 function getAuthScriptEl() { 983 return document.querySelector('script[src*="mng-auth"]'); 984 } 985 986 function getAuthScriptSrc() { 987 var el = getAuthScriptEl(); 988 return el ? el.src : '(no mng-auth script tag)'; 989 } 990 991 function authDiagnostics() { 992 return [ 993 'script=' + getAuthScriptSrc(), 994 'MNGAuth=' + typeof window.MNGAuth, 995 'module=' + typeof window.module, 996 'exports=' + typeof window.exports, 997 'define=' + typeof window.define, 998 'define.amd=' + !!(window.define && window.define.amd) 999 ].join(' '); 1000 } 1001 1002 function adoptMngAuth() { 1003 if (window.MNGAuth && (typeof window.MNGAuth.init === 'function' || typeof window.MNGAuth.showScreen === 'function')) { 1004 return window.MNGAuth; 1005 } 1006 var candidates = []; 1007 if (window.module && window.module.exports) { 1008 candidates.push(window.module.exports.MNGAuth || window.module.exports); 1009 } 1010 if (window.exports) { 1011 candidates.push(window.exports.MNGAuth || window.exports); 1012 } 1013 for (var i = 0; i < candidates.length; i++) { 1014 var candidate = candidates[i]; 1015 if (candidate && (typeof candidate.init === 'function' || typeof candidate.showScreen === 'function')) { 1016 window.MNGAuth = candidate; 1017 console.info(logPrefix, 'adopted MNGAuth from UMD export'); 1018 return candidate; 1019 } 1020 } 1021 return null; 1022 } 1023 1024 function waitForMngAuth() { 1025 if (window.__mngAuthReadyPromise) { 1026 return window.__mngAuthReadyPromise; 1027 } 1028 window.__mngAuthReadyPromise = new Promise(function (resolve, reject) { 1029 if (adoptMngAuth()) { 1030 resolve(); 1031 return; 1032 } 1033 1034 var settled = false; 1035 1036 function succeed() { 1037 if (settled) { 1038 return; 1039 } 1040 settled = true; 1041 resolve(); 1042 } 1043 1044 function fail(message) { 1045 if (settled) { 1046 return; 1047 } 1048 settled = true; 1049 window.__mngAuthReadyPromise = null; 1050 reject(new Error(message + ' ' + authDiagnostics())); 1051 } 1052 1053 function shadowUmdGlobals() { 1054 var saved = { 1055 module: window.module, 1056 exports: window.exports, 1057 define: window.define 1058 };
1059 try { 1060 delete window.module; 1061 delete window.exports; 1062 delete window.define; 1063 } catch (e) { 1064 window.module = undefined; 1065 window.exports = undefined; 1066 window.define = undefined; 1067 } 1068 return saved; 1069 } 1070 1071 function restoreUmdGlobals(saved) { 1072 try { 1073 if (typeof saved.module !== 'undefined') { 1074 window.module = saved.module; 1075 } 1076 if (typeof saved.exports !== 'undefined') { 1077 window.exports = saved.exports; 1078 } 1079 if (typeof saved.define !== 'undefined') { 1080 window.define = saved.define; 1081 } 1082 } catch (e) {} 1083 } 1084 1085 function loadIsolatedCopy() { 1086 var src = getAuthScriptSrc(); 1087 if (src === '(no mng-auth script tag)') { 1088 fail('mng-auth.js is not on the page'); 1089 return; 1090 } 1091 console.info(logPrefix, 'reloading mng-auth.js without UMD globals'); 1092 var saved = shadowUmdGlobals(); 1093 var script = document.createElement('script'); 1094 script.src = src; 1095 script.onload = function () { 1096 restoreUmdGlobals(saved); 1097 if (adoptMngAuth()) { 1098 succeed(); 1099 return; 1100 } 1101 fail('CDN loaded but did not expose window.MNGAuth'); 1102 }; 1103 script.onerror = function () { 1104 restoreUmdGlobals(saved); 1105 fail('mng-auth.js failed to load'); 1106 }; 1107 document.head.appendChild(script); 1108 } 1109 1110 var existing = getAuthScriptEl(); 1111 if (existing && document.readyState === 'loading') { 1112 existing.addEventListener('load', function () { 1113 if (adoptMngAuth()) { 1114 succeed(); 1115 return; 1116 } 1117 loadIsolatedCopy(); 1118 }); 1119 existing.addEventListener('error', function () { 1120 fail('existing mng-auth.js tag failed to load'); 1121 }); 1122 return; 1123 } 1124 1125 loadIsolatedCopy(); 1126 }); 1127 return window.__mngAuthReadyPromise; 1128 } 1129 1130 function waitForEmbedReady() { 1131 return new Promise(function (resolve, reject) { 1132 if (isEmbedReady()) { 1133 resolve(); 1134 return; 1135 } 1136 1137 var settled = false; 1138 var poll; 1139 1140 function cleanup() { 1141 window.clearInterval(poll); 1142 document.removeEventListener('mng.auth.onFinished', onFinished); 1143 } 1144 1145 function succeed() { 1146 if (settled) { 1147 return; 1148 } 1149 settled = true; 1150 cleanup(); 1151 resolve(); 1152 } 1153 1154 function fail(message) { 1155 if (settled) { 1156 return; 1157 } 1158 settled = true; 1159 cleanup(); 1160 reject(new Error(message)); 1161 } 1162 1163 function onFinished() { 1164 if (isEmbedReady()) { 1165 succeed(); 1166 return; 1167 } 1168 fail('mng-auth reported onFinished but #mng-modal was not created. script=' + getAuthScriptSrc()); 1169 } 1170 1171 document.addEventListener('mng.auth.onFinished', onFinished); 1172 poll = window.setInterval(function () { 1173 if (isEmbedReady()) { 1174 succeed(); 1175 } 1176 }, 100); 1177 window.setTimeout(function () { 1178 fail('timed out waiting for #mng-modal. script=' + getAuthScriptSrc()); 1179 }, readyTimeoutMs); 1180 }); 1181 } 1182 1183 function openEmbedLogin(button) { 1184 var connection = button.getAttribute('data-mng-auth-social-action'); 1185 console.info(logPrefix, 'click', button.getAttribute('data-mng-cta'), '- waiting for embed login', connection, getAuthScriptSrc()); 1186 return waitForMngAuth().then(function () { 1187 if (isEmbedReady()) { 1188 button.__mngSocialForward = true; 1189 button.click(); 1190 button.__mngSocialForward = false; 1191 console.info(logPrefix, 'forwarded social click to embed login', connection); 1192 return; 1193 } 1194 return waitForEmbedReady().then(function () { 1195 button.__mngSocialForward = true; 1196 button.click(); 1197 button.__mngSocialForward = false; 1198 console.info(logPrefix, 'forwarded social click to embed login', connection); 1199 }); 1200 }).catch(function (err) { 1201 console.error(logPrefix, 'failed to open embed login', err); 1202 }); 1203 } 1204 1205 document.addEventListener('click', function (event) { 1206 var button = event.target.closest('.digisubs-social-login__button'); 1207 if (!button || button.__mngSocialForward) { 1208 return; 1209 } 1210 sessionStorage.setItem(pendingFlag, '1'); 1211 if (isEmbedReady() && window.MNGAuth) { 1212 console.info(logPrefix, 'click', button.getAttribute('data-mng-cta'), '- letting embed login handle', button.getAttribute('data-mng-auth-social-action')); 1213 return; 1214 } 1215 event.preventDefault(); 1216 event.stopPropagation(); 1217 openEmbedLogin(button); 1218 }); 1219 1220 ['authenticationReady', 'mng-auth-check-complete', 'entitlementsReady'].forEach(function (name) { 1221 window.addEventListener(name, function () { 1222 if (isAuthenticated()) { 1223 onAuthenticated(); 1224 } 1225 }, true); 1226 }); 1227 ['mng.auth.onReady', 'mng.auth.onLogin', 'mng.auth.onAuthDetermined', 'mng.auth.onEntitlementsDetermined'].forEach(function (name) { 1228 document.addEventListener(name, function () { 1229 if (isAuthenticated()) { 1230 onAuthenticated(); 1231 } 1232 }, true); 1233 }); 1234 1235 if (window.authentication_config && window.authentication_config.debug === '1') { 1236 console.info(logPrefix, 'bridge ready', typeof window.MNGAuth, getAuthScriptSrc()); 1237 } 1238 1239 if (isAuthenticated()) { 1240 onAuthenticated(); 1241 } 1242})(); 1243//# sourceURL=digisubs-social-login-js-after 1244</script>
vendor: 1 bytes, line 1244
1244
1245<script src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js" id="apple_pay_sdk-js"></script>
vendor: 1 bytes, line 1245
1245
1246<script id="mng_apple-js-extra"> 1247var apple_config = {"applePayEnabled":"1","loggedOutPurchaseEnabled":"0","sourceId":"1282"}; 1248//# sourceURL=mng_apple-js-extra 1249</script>
vendor: 1 bytes, line 1249
1249
1250<script type="text/javascript" src="https://www.morningjournal.com/wp-content/plugins/mng-digisubs/static/mng-digisubs.apple.bundle.js?m=1790890291g" ></script>
1250<script id="mng-cache-control-js-before"> 1251window.cache_control_adminbar_support = {"rootUrl":"https:\/\/www.morningjournal.com\/wp-admin\/admin-ajax.php","rootAction":"cache_control_adminbar_action","nonce":"503ebe25c7","isSectionFront":true,"isHomepage":false} 1252//# sourceURL=mng-cache-control-js-before 1253</script>
vendor: 1 bytes, line 1253
1253
1254<script src="https://www.morningjournal.com/wp-content/plugins/mng-cache-control/Src/assets/dist/mng-cache-control-adminbar.js?ver=0.2.1" id="mng-cache-control-js"></script>
vendor: 1 bytes, line 1254
1254
1255<script id="jetpack-stats-js-before"> 1256_stq = window._stq || []; 1257_stq.push([ "view", {"v":"ext","blog":"192791549","post":"137","tz":"-4","srv":"www.morningjournal.com","hp":"vip","j":"1:16.1.3"} ]); 1258_stq.push([ "clickTrackerInit", "192791549", "137" ]); 1259//# sourceURL=jetpack-stats-js-before 1260</script>
vendor: 1 bytes, line 1260
1260
1261<script src="https://stats.wp.com/e-202640.js" id="jetpack-stats-js" defer data-wp-strategy="defer" fetchpriority="low"></script>
vendor: 1 bytes, line 1261
1261
1262<script async src="https://cdn.p-n.io/pushly-sdk.min.js?domain_key=g7s0WgoSJpwrMUvzqEPvxZyH06O1jt6g2kJs&ver=6.9.9" id="pushly-sdk-js"></script>
vendor: 1 bytes, line 1262
1262
1263<script type="text/javascript" src="https://www.morningjournal.com/wp-content/mu-plugins/jetpack-16.1/_inc/build/sharedaddy/sharing.min.js?m=1790699156g" ></script>
1263<script id="wp-emoji-settings" type="application/json"> 1264{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.morningjournal.com/wp-includes/js/wp-emoji-release.min.js?ver=6.9.9"}} 1265</script>
vendor: 1 bytes, line 1265
1265
1266<script type="module"> 1267/*! This file is auto-generated */ 1268var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 1269//# sourceURL=https://www.morningjournal.com/wp-includes/js/wp-emoji-loader.min.js 1270</script>
1270 1271 1272 </body> 1273 </html> 1274
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.