Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

856
Views
Las etiquetas Blazor WASM Script no se deben colocar dentro de los componentes porque no se pueden actualizar dinámicamente. Mueva la etiqueta del script al archivo index.html

Estoy desarrollando una aplicación .Net 6 Blazor Wasm . Necesito colocar <script type="application/ld+json"> dentro de cada componente de la página de destino para obtener beneficios de SEO .

Ya estoy usando <HeadContent> para agregar otras etiquetas <meta> y <link> . Así que decidí usar el mismo componente para este propósito.

Sin embargo, cuando coloco la etiqueta <script> dentro de <HeadContent> , aparece el siguiente error de compilación:

Las etiquetas de script no deben colocarse dentro de los componentes porque no se pueden actualizar dinámicamente. Para solucionar esto, mueva la etiqueta del script al archivo 'index.html' o a otra ubicación estática.

Para solucionar este problema, agregué mi etiqueta de secuencia de comandos como texto de cadena dentro <HeadContent> como se muestra a continuación,

 @page "/" @inject NavigationManager NavigationManager <HeadContent> @($@"<script type=""application/ld+json""> {{ ""@context"": ""https://schema.org"", ""@type"": ""WebSite"", ""publisher"": {{ ""@type"": ""Organization"", ""name"": ""Page Name"", ""url"": ""{NavigationManager.BaseUri}"", ""logo"": {{ ""@type"": ""ImageObject"", ""url"": ""{NavigationManager.BaseUri}favicon.ico"", ""width"": 16, ""height"": 16 }} }}, ""url"": ""{NavigationManager.BaseUri}"", ""mainEntityOfPage"": {{ ""@type"": ""WebPage"", ""@id"": ""{NavigationManager.BaseUri}"" }}, ""description"": ""some good description about the page"" }} </script>") </HeadContent>

Pero esto representa el script como texto dentro de la etiqueta principal en el navegador, como se muestra en la siguiente captura de pantalla:

Contenido principal renderizado

¿Esto afectará los beneficios de SEO o hay alguna mejor manera de manejar esto? Por favor asiste.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si está seguro de que sabe lo que está haciendo y quiere usar una etiqueta de secuencia de comandos, y lo probará a fondo, puede anular la advertencia de esta manera

 <script suppress-error="BL9992">...</script>

En este caso, como su script contiene json, puede estar bien

over 4 years ago · Santiago Trujillo Report

0

Está representando una cadena sin marcas.

 @(new MarkupString($@"<script type=""application/ld+json""> {{ ""@context"": ""https://schema.org"", ""@type"": ""WebSite"", ""publisher"": {{ ""@type"": ""Organization"", ""name"": ""Page Name"", ""url"": ""{NavigationManager.BaseUri}"", ""logo"": {{ ""@type"": ""ImageObject"", ""url"": ""{NavigationManager.BaseUri}favicon.ico"", ""width"": 16, ""height"": 16 }} }}, ""url"": ""{NavigationManager.BaseUri}"", ""mainEntityOfPage"": {{ ""@type"": ""WebPage"", ""@id"": ""{NavigationManager.BaseUri}"" }}, ""description"": ""some good description about the page"" }} </script>"))
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!