La id se especifica en la página del componente y la consola registra la id correcta. Sin embargo, no parece actualizar ninguna URL.
He agregado este epn-smart-tools.js como una excepción a la política de seguridad de contenido. Sin embargo, en la consola del navegador obtengo esta advertencia:
Parece que este “from-url.js.map” al que se hace referencia en epn-smart-tools.js es el problema. Escribí un archivo html simple en mi escritorio y lo ejecuté localmente y no parece haber ningún problema, lo que me lleva a creer que es más probable que sea un problema en el lado de discourse que en mi navegador.
¿Qué hacen estos mapas de origen y cómo interactúa discourse con ellos está fuera de los límites de mi conocimiento. ¿Algún consejo aquí? ¿Estoy pasando algo por alto?
Los mapas de origen son archivos opcionales que ayudan a depurar recursos minificados. Dado que no controlas este recurso y no tienes control sobre su origen, debes ignorar esta advertencia.
Gracias por la información @Falco y feliz cumpleaños.
Descubrí que el problema estaba en dónde agregué esa línea <script src="...">.
Esto me funcionó:
<script type="text/discourse-plugin" version="0.8">
console.log(settings.epn_id);
window._epn = {campaign: settings.epn_id, smartPopover:false};
var script = document.createElement('script');
script.src = 'https://epnt.ebay.com/static/epn-smart-tools.js';
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);
</script>
El siguiente problema con el que me encontré es que a los elementos que se cargan dinámicamente no se les aplica el script. Por ejemplo, si actualizo la página en un tema, las publicaciones que se cargan tendrán el enlace de afiliado, pero al desplazarse para revelar más publicaciones, esas no lo harán.
¿Hay alguna forma de ejecutar el script cada vez que se carga un nuevo elemento?
Idealmente, harías eso en el lado del servidor, una vez que se guarde una nueva publicación. Tenemos un plugin que hace exactamente eso para Amazon, por lo que deberías poder adaptarlo para eBay: GitHub - discourse/discourse-affiliate