{"id":864,"date":"2024-07-31T07:52:31","date_gmt":"2024-07-31T05:52:31","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=864"},"modified":"2024-07-31T07:52:31","modified_gmt":"2024-07-31T05:52:31","slug":"003-bom-objetos-url-historial-y-navegador","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/javascript\/javascript-practico\/14-bom-browswer-object-model\/003-bom-objetos-url-historial-y-navegador\/","title":{"rendered":"003. BOM: Objetos: URL, Historial y Navegador"},"content":{"rendered":"\n<p>En los cap\u00edtulos anteriores estuvimos viendo tanto <strong>eventos<\/strong>, como <strong>propiedades<\/strong>, como <strong>m\u00e9todos<\/strong> del <strong>Browser Object Model<\/strong>, que se centran en las caracter\u00edsticas y propiedades que como tal tiene el objeto <strong><em>window<\/em><\/strong>, que es el <strong>objeto global<\/strong>, es decir, el objeto de la ventana de nuestro navegador.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>En este cap\u00edtulo vamos a ver 3 objetos muy importantes, los cuales cuelgan directamente de <strong><em>window<\/em><\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Objeto location<\/h2>\n\n\n\n<p>El objeto <strong><em>location<\/em><\/strong> o <strong><em>url<\/em><\/strong> es un objeto con varias <strong>propiedades<\/strong> y <strong>m\u00e9todos<\/strong>. Veamos con un ejm los m\u00e1s importantes.<\/p>\n\n\n\n<p><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(location.origin);\n\/\/ Proporciona la ruta de origen\n\nconsole.log(location.protocol);\n\/\/ Proporciona el protocolo\n\nconsole.log(location.host);\n\/\/ Proporciona el host y el n\u00famero de puerto\n\nconsole.log(location.hostname);\n\/\/ Proporciona el host\n\nconsole.log(location.port);\n\/\/ Proporciona el puerto\n\nconsole.log(location.href);\n\/\/ Imprime la URL completa y si hubiera par\u00e1metros\n\/\/ imprime tb el paso de los par\u00e1metros\n\nconsole.log(location.hash);\n\/\/ Detecta el valor de la URL que est\u00e1 despu\u00e9s de un hash\n\nconsole.log(location.search);\n\/\/ Almacena los par\u00e1metros que se pasan \n\nconsole.log(location.pathname);\n\/\/ Detecta el archivo al que estamos consultando\n\nwindow.reload()\n\/\/ Recarga la p\u00e1gina<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Objeto history (historial)<\/h2>\n\n\n\n<p>El objeto <strong><em>history<\/em><\/strong> tiene una propiedad muy importante que es <strong><em>length<\/em><\/strong> (longitud). Para navegar entre p\u00e1ginas tenemos una serie de m\u00e9todos, los cuales nos permiten ir hacia adelante o hacia atr\u00e1s.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>history.back(3)<\/em><\/strong>: vuelve tres p\u00e1ginas atr\u00e1s del historial.<\/li>\n\n\n\n<li><strong><em>history.forward(3)<\/em><\/strong>: va 3 p\u00e1ginas hacia delante del historial.<\/li>\n\n\n\n<li><strong><em>history.go(numero)<\/em><\/strong>: va hacia adelante o hacia atr\u00e1s, hacia delante son n\u00fameros positivos, hacia atr\u00e1s son n\u00fameros negativos.\n<ul class=\"wp-block-list\">\n<li><strong><em>history.go(-1)<\/em><\/strong>: va una p\u00e1gina atr\u00e1s<\/li>\n\n\n\n<li><strong><em>history.go(1)<\/em><\/strong>: va una p\u00e1gina adelante<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Objeto navigator (navegador)<\/h2>\n\n\n\n<p>Este objeto es muy importante y complejo, dentro del cual disponemos de muchas <strong>propiedades<\/strong> y <strong>m\u00e9todos<\/strong>. Veamos un ejm con las <strong>propiedades<\/strong> y <strong>objetos<\/strong> m\u00e1s importantes.<\/p>\n\n\n\n<p><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">console.log(navigator);\n\nconsole.log(navigator.connection);\n\/\/ Facilita el tipo de conexi\u00f3n\n\nconsole.log(navigator.geolocation);\n\/\/ Facilita la geolocalizaci\u00f3n\n\nconsole.log(navigator.mediaDevices);\n\/\/ Muestra los dispositivos como c\u00e1maras, micr\u00f3fonos...\n\nconsole.log(navigator.mimeTypes);\n\/\/ Tipos de formatos que soportan los navegadores web (excel, word...)\n\nconsole.log(navigator.onLine);\n\/\/ El navegador tiene eventos para ver cuando el usuario pierde\n\/\/ la conexi\u00f3n o la vuelve a recuperar\n\nconsole.log(navigator.serviceWorker);\n\/\/ Es una API que nos ayuda a hacer Progressive Web Apps, es decir\n\/\/ a convertir un sitio web en una aplicaci\u00f3n instalable\n\nconsole.log(navigator.storage);\n\/\/ El el API de almacenamiento, ya sea webStorage o localStorage\n\nconsole.log(navigator.usb);\n\/\/ La capacidad de detectar dispositivos USB cuando se conectan\n\/\/ o se desconectan\n\nconsole.log(navigator.userAgent);\n\/\/ Da mucha informaci\u00f3n sobre el navegador que se est\u00e1 conectando\n\/\/ a nuestra aplicaci\u00f3n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En los cap\u00edtulos anteriores estuvimos viendo tanto eventos, como propiedades, como m\u00e9todos del Browser Object Model, que se centran en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":855,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-864","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"En los cap\u00edtulos anteriores estuvimos viendo tanto eventos, como propiedades, como m\u00e9todos del Browser Object Model, que se centran en [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=864"}],"version-history":[{"count":2,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/864\/revisions"}],"predecessor-version":[{"id":866,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/864\/revisions\/866"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/855"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}