caching link content for link preview
This commit is contained in:
		
							parent
							
								
									8518ad014b
								
							
						
					
					
						commit
						f872e0dc9b
					
				| @ -50,6 +50,8 @@ | ||||
|   var tooltipWrapper = document.getElementById('tooltip-wrapper') | ||||
|   var tooltipContent = document.getElementById('tooltip-content') | ||||
| 
 | ||||
|   var linkHistories = {}; | ||||
| 
 | ||||
|   function hideTooltip() { | ||||
|     opacityTimeout = setTimeout(function() { | ||||
|       tooltipWrapper.style.opacity = 0; | ||||
| @ -66,6 +68,7 @@ | ||||
|     var top = window.pageYOffset || document.documentElement.scrollTop | ||||
| 
 | ||||
|     if (event.target.host === window.location.host) { | ||||
|       if (!linkHistories[event.target.href]) { | ||||
|         iframe.src = event.target.href | ||||
|         iframe.onload = function() { | ||||
|           tooltipContentHtml = '' | ||||
| @ -73,12 +76,21 @@ | ||||
|           tooltipContentHtml += iframe.contentWindow.document.querySelector('content').innerHTML | ||||
| 
 | ||||
|           tooltipContent.innerHTML = tooltipContentHtml | ||||
|           linkHistories[event.target.href] = tooltipContentHtml | ||||
| 
 | ||||
|           tooltipWrapper.style.display = 'block'; | ||||
|           setTimeout(function() { | ||||
|             tooltipWrapper.style.opacity = 1; | ||||
|           }, 1) | ||||
|         }  | ||||
|       } else { | ||||
|         tooltipContent.innerHTML = linkHistories[event.target.href] | ||||
|         tooltipWrapper.style.display = 'block'; | ||||
|         setTimeout(function() { | ||||
|           tooltipWrapper.style.opacity = 1; | ||||
|         }, 1) | ||||
|       } | ||||
| 
 | ||||
| 
 | ||||
|       tooltipWrapper.style.left = elem_props.left - (tooltipWrapper.offsetWidth / 2) + (elem_props.width / 2) + "px"; | ||||
|       if ((window.innerHeight - elem_props.top) < (tooltipWrapper.offsetHeight)) { | ||||
|  | ||||
| @ -58,6 +58,8 @@ Notice in the "Notes mentioning this note" section that there is another note li | ||||
| 
 | ||||
| If you're on a device with mouse support, try hovering your mouse on internal links to preview the notes: [[a note about cats]]. | ||||
| 
 | ||||
| Links that have been previewed will be cached to avoid redundant requests. | ||||
| 
 | ||||
| ### Images and other Markdown goodies | ||||
| 
 | ||||
| Finally, because you have the full power of Markdown in this template, you can use regular Markdown syntax for various formatting options. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 hqweay
						hqweay