Me temo que estoy luchando con los conceptos básicos aquí. Quiero proporcionar un elemento de dataTransfer de datos con una URL válida a un archivo ubicado en el mismo servidor que entrega el sitio web.
Hacer referencia a esa URL dentro de un elemento HTML como este
img_element.setAttribute("src", "some/relative/url.jpg");..funciona para mi.
Pero ahora quiero que la dataTransfer de datos de un evento de arrastre haga referencia a esta URL.
haciendo algo como esto:
event.dataTransfer.setData("text/uri-list", "some/relative/url.jpg");básicamente funciona, pero dado que los datos de arrastrar y soltar pueden ser utilizados por alguna aplicación externa (por ejemplo, un explorador de archivos), a la URL le falta el origen.
Por otro lado, proporcionar la URL completa de forma codificada funciona para la aplicación externa, por ejemplo
event.dataTransfer.setData("text/uri-list", "https://hardcoded.com/subpath/some/relative/url.jpg");.. pero no sé cómo convertir la URL relativa en absoluta.
Entiendo que un elemento <img> no necesita proporcionar la URL completa ya que el navegador conoce el resto, pero ¿cómo hago para que el evento de arrastre contenga todos los datos que necesita para acceder a los datos?
Esperaba que existiera alguna función como toAbsolute() que, dentro del navegador, convierte una URL relativa en una absoluta, pero todo lo que encontré fueron referencias a browser.runtime.getUrl() o chrome.runtime.getUrl() pero esas parecen para aplicar solo a las extensiones web.
¿Estoy en el camino totalmente equivocado aquí?