【发布时间】:2021-01-08 07:09:40
【问题描述】:
我需要使文本中的所有链接打开一个新选项卡,并且文本来自危险的SetInnerHTML={{__html: content,}}。该代码位于一个新类中,该类在反应中扩展了组件 我在
中选择文本 id 的代码块【问题讨论】:
标签: reactjs react-native hyperlink gatsby
我需要使文本中的所有链接打开一个新选项卡,并且文本来自危险的SetInnerHTML={{__html: content,}}。该代码位于一个新类中,该类在反应中扩展了组件 我在
中选择文本 id 的代码块【问题讨论】:
标签: reactjs react-native hyperlink gatsby
只需添加rel="noopener noreferrer" 即可解决您的问题。
https://caniuse.com/?search=noopener%20
<a href="https://hasantezcan.dev" target="_blank" rel="noopener noreferrer">Go to website</a>
【讨论】:
这是我使用replace的解决方案
var content = `<a href="https://stackoverflow.com">Stack Overflow</a><a href="https://google.com">Google</a>`;
class App extends React.Component {
render(){
return (
<div
dangerouslySetInnerHTML={{
__html: content.replace(/href/g, "target='_blank' href")
}}>
</div>
)
}
}
【讨论】:
<Link to="route" target="_blank" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("Your_route"));}} />
我是说
<Link ... target="_blank">
或
<a target='_blank' href={'Your_url'})}>Your Text</a>
【讨论】:
你可以使用:
<Link to="route" target="_blank" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("route"));}} />
【讨论】: