Why not external javascript?
-
Hello,
Really like this plugin and service, but I have doubts about the inline java-script it attaches to every single page. I am afraid it affects page speed load performance, as the code is not reused, when it could perfectly be hosted in a external javascript file.For example, this is what I see attached in the source code of every single page I have:
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script> <script> var OneSignal = OneSignal || []; OneSignal.push( function() { OneSignal.SERVICE_WORKER_UPDATER_PATH = "OneSignalSDKUpdaterWorker.js.php"; OneSignal.SERVICE_WORKER_PATH = "OneSignalSDKWorker.js.php"; OneSignal.SERVICE_WORKER_PARAM = { scope: '/' }; OneSignal.setDefaultNotificationUrl("http://www.websitename.com"); var oneSignal_options = {}; oneSignal_options['wordpress'] = true; oneSignal_options['appId'] = 'idnumber'; oneSignal_options['autoRegister'] = false; oneSignal_options['welcomeNotification'] = { }; oneSignal_options['welcomeNotification']['title'] = "Website Name"; oneSignal_options['welcomeNotification']['message'] = "Gracias por suscribirte"; oneSignal_options['welcomeNotification']['url'] = "http://www.websitename.com"; oneSignal_options['subdomainName'] = "websitename"; oneSignal_options['safari_web_id'] = "web.onesignal.auto.number"; oneSignal_options['promptOptions'] = { }; oneSignal_options['promptOptions']['actionMessage'] = 'quiere notificarte cuando haga falta'; oneSignal_options['promptOptions']['exampleNotificationTitleDesktop'] = '¡Eres una mujer hermosa!'; oneSignal_options['promptOptions']['exampleNotificationMessageDesktop'] = 'Las notificaciones aparecerán así:'; oneSignal_options['promptOptions']['exampleNotificationTitleMobile'] = '¡Eres una mujer hermosa!'; oneSignal_options['promptOptions']['exampleNotificationMessageMobile'] = 'Las notificaciones aparecerán así:'; oneSignal_options['promptOptions']['exampleNotificationCaption'] = '(podrás borrarte cuando quieras)'; oneSignal_options['promptOptions']['acceptButtonText'] = 'CONTINUAR'; oneSignal_options['promptOptions']['cancelButtonText'] = 'NO GRACIAS'; oneSignal_options['promptOptions']['showCredit'] = false; oneSignal_options['notifyButton'] = { }; oneSignal_options['notifyButton']['enable'] = true; oneSignal_options['notifyButton']['position'] = 'bottom-right'; oneSignal_options['notifyButton']['theme'] = 'default'; oneSignal_options['notifyButton']['size'] = 'medium'; oneSignal_options['notifyButton']['prenotify'] = true; oneSignal_options['notifyButton']['showCredit'] = false; oneSignal_options['notifyButton']['text'] = {}; oneSignal_options['notifyButton']['text']['message.prenotify'] = 'Pulsa aquí para suscribirte a notificaciones'; oneSignal_options['notifyButton']['text']['tip.state.unsubscribed'] = 'Suscribirme a notificaciones'; oneSignal_options['notifyButton']['text']['tip.state.subscribed'] = 'Ahora ya estás suscrita'; oneSignal_options['notifyButton']['text']['tip.state.blocked'] = 'Has bloqueado las notificaciones'; oneSignal_options['notifyButton']['text']['message.action.subscribed'] = 'Gracias por suscribirte'; oneSignal_options['notifyButton']['text']['message.action.resubscribed'] = 'Ya estás suscrita a notificaciones'; oneSignal_options['notifyButton']['text']['message.action.unsubscribed'] = 'Ya no recibirás más notificaciones'; oneSignal_options['notifyButton']['text']['dialog.main.title'] = 'Administrar notificaciones del sitio'; oneSignal_options['notifyButton']['text']['dialog.main.button.subscribe'] = 'SUSCRIBIRME'; oneSignal_options['notifyButton']['text']['dialog.main.button.unsubscribe'] = 'BORRARME'; oneSignal_options['notifyButton']['text']['dialog.blocked.title'] = 'Bloquear notificaciones'; oneSignal_options['notifyButton']['text']['dialog.blocked.message'] = 'Sigue estas instrucciones para permitir notificaciones:'; OneSignal.init(oneSignal_options); }); function documentInitOneSignal() { var oneSignal_elements = document.getElementsByClassName("OneSignal-prompt"); var oneSignalLinkClickHandler = function(event) { OneSignal.push(['registerForPushNotifications']); event.preventDefault(); }; for(var i = 0; i < oneSignal_elements.length; i++) oneSignal_elements[i].addEventListener('click', oneSignalLinkClickHandler, false); } if (document.readyState === 'complete') { documentInitOneSignal(); } else { window.addEventListener("load", function(event){ documentInitOneSignal(); }); } </script>Any possibility upcoming plugin updates solve this soon? Thanks.
Placing JavaScripts in external files has some advantages:
- It separates HTML and code
- It makes HTML and JavaScript easier to read and maintain
- Cached JavaScript files can speed up page loads
https://ww.wp.xz.cn/plugins/onesignal-free-web-push-notifications/
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
The topic ‘Why not external javascript?’ is closed to new replies.