Я хочу встроить карту datawrapper следующим образом:
import InnerHTML from 'dangerously-set-html-content'
export function Map1(){
const htmlFile = `<div style = "min-height: 374px">
<script type = "text/javascript" defer src = "src/utils/mapscript.js" charset = "utf-8">
</script>
<noscript>
<img src = "https://static.igem.wiki/teams/5247/charts-maps/map1-full.png" alt = "" />
</noscript>
</div>`
return(
<InnerHTML html = {htmlFile} />
)
}
и на сервере разработки он отлично работает, все отображает. Но на самом сайте оно не отображается. Даже изображение, указанное в части «noscript». В консоли веб-страницы для файла mapscript.js написано:
Неперехваченная синтаксическая ошибка: ожидаемое выражение, получено '<'
Но файл начинается как "!function(){"use strict";const t=new Set(["0","false","null"]),e = {allowEditing:Boolean,dark:function", поэтому я понятия не имею, где находится «<» предположительно происходит от.
Конвейер на GitLab для сайта пройден. Сообщите мне, какая дополнительная информация необходима для описания.
Чтобы попытаться решить эту проблему, я использовал разные версии:
export function Map2(){
const htmlFile = `<div style = "min-height: 374px">
<script type = "text/javascript" defer src = "src/utils/mapscript.js" charset = "utf-8">
</script>
<noscript>
<img src = "https://static.igem.wiki/teams/5247/charts-maps/map1-full.png" alt = "" />
</noscript>
</div>`
return(
<div dangerouslySetInnerHTML = {{ __html: htmlFile }} />
)
}
import DOMPurify from 'dompurify';
export function Map1(){
const htmlFile = `<div style = "min-height: 374px">
<script type = "text/javascript" defer src = "src/utils/mapscript.js" charset = "utf-8">
</script>
<noscript>
<img src = "https://static.igem.wiki/teams/5247/charts-maps/map1-full.png" alt = "" />
</noscript>
</div>`
const sanitizedHTML = DOMPurify.sanitize(htmlFile);
return(
<InnerHTML html = {htmlFile} />
)
}
export function Map3(){
return(
<div style = {{minHeight: "374px"}}>
<script type = "text/javascript" defer src = "src/utils/mapscript.js" charet = "utf-8">
</script>
<noscript>
<img src = "https://static.igem.wiki/teams/5247/charts-maps/map1-full.png" alt = "" />
</noscript>
</div>
)
}
Но они не работали ни на сайте, ни на сервере разработки, поэтому я их выбросил.
🤔 А знаете ли вы, что...
JavaScript - это скриптовый язык программирования, разработанный Netscape Communications Corporation.
Вы просто пытаетесь добавить ключевое слово «по умолчанию» в функцию, как показано ниже.
export default function Map2(){
const htmlFile = `<div style = "min-height: 374px">
<script type = "text/javascript" defer src = "src/utils/mapscript.js" charset = "utf-8">
</script>
<noscript>
<img src = "https://static.igem.wiki/teams/5247/charts-maps/map1-full.png" alt = "" />
</noscript>
</div>`
return(
<div dangerouslySetInnerHTML = {{ __html: htmlFile }} />
)
}
обратитесь к этому документу импорт и экспорт компонентов