I tried to add a delay between navigation and navigation but still the image takes time to load
ts:
navigate(name:string,title:string) {
Swal.fire({
position: 'center',
icon: 'success',
title: `You go to the page ${title}`,
showConfirmButton: false,
timer: 1500,
})
setTimeout(() => {
this.router.navigate([`${name}`]);
}
, 1500);
}
html:
<div >
<li (click)="navigate('home','Home')"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="house"
role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"
color="#4d4d4e">
<path fill="currentColor"
d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z">
</path>
</svg>
<span >Home</span>
</li>
</div>
html image in the home page:
<img src="../../assets/images/Mor.png" alt="mor">
CodePudding user response:
Delay won't do the job in this case. The reason is the image only load when you're in the page.
There's a trick to connect faster which is use the preload
attribute. This is a technique for improving loading speed of your site.
<link rel="preload" as="image" href="image.png" />
By putting that line to the head
tag (just like other script tags), you're telling browsers that this is a high priority resource, so load it as soon as possible.
More info here: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/preload