Ho un sito web che utilizza Vue.js e un forum su Discourse. Sto cercando di inserire uno script JavaScript nel file del template per collegare i commenti del forum a una pagina specifica del sito Vue.js, ma ottengo l’errore:
I template dovrebbero occuparsi esclusivamente di mappare lo stato sull'interfaccia utente.
Evita di inserire tag con effetti collaterali nei tuoi template, come <script>,
poiché non verranno analizzati.
Ho provato a cambiare text/javascript in application/javascript, ma quando provo a renderizzarlo ricevo l’errore:
- espressione non valida: manca una ) dopo l'elenco degli argomenti in
" \n DiscourseEmbed = { discourseUrl: 'https://forum.epicseven.ru/',\n \ndiscourseEmbedUrl: '"+_s(url absolute="true")+\"' };\n\n (function() {\n \nvar d = document.createElement('script'); d.type = \n'application/javascript'; d.async = true;\n d.src = \nDiscourseEmbed.discourseUrl + 'javascripts/embed.js';\n \n(document.getElementsByTagName('head')[0] || \ndocument.getElementsByTagName('body')[0]).appendChild(d);\n })();\n"
Espressione grezza: DiscourseEmbed = { discourseUrl: \n'https://forum.epicseven.ru/',\n discourseEmbedUrl: '{{url absolute="true"}}' };\n\n (function() {\n var d = document.createElement('script'); d.type = \n'application/javascript'; d.async = true;\n d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';\n (document.getElementsByTagName('head')[0] || \ndocument.getElementsByTagName('body')[0]).appendChild(d);\n })();
Per quanto ne so, l’uso di file JS in Vue.js è consentito solo dal dominio da cui proviene la chiamata. Il mio forum è impostato su un sottodominio.
Come posso risolvere questo errore? Forse dovrei provare a utilizzare una parte diversa del codice?