我创建了一个React组件,用于从URL加载SVG。这很简单,并使用SVG use语法作为精灵表。以下是我的代码,我也使用了ES6语法:
export class Icon extends React.Component {
render() {
var classes = "icon",
url = this.props.url,
definedClass = this.props.classes;
if (definedClass) {
classes = classes + ' ' + definedClass
}
return (
<svg
className={classes}
viewBox="0 0 35 35"
dangerouslySetInnerHTML={{__html:
"<use xlink:href='" + url + "'></use></svg>"}}>
</svg>
)
}
}
这在从同一域加载时有效,但当我尝试将其作为小部件与其他代码一起加载到不同的域上时,就会遇到此错误。
不安全的尝试从框架中的URL http://localhost:8000/ 加载URL http://localhost:3123/assets/svg/star.svg。 域,协议和端口必须匹配。
是否有任何方法可以解决这个问题,还是这只是React中默认且无法更改的行为?