react项⽬通过iframe⽅式引⼊html页⾯
项⽬中会碰到在react项⽬中引⼊html静态页⾯的需求,以下是解决⽅法:
主要实现:通过<iframe>⽅式引⼊,以下是核⼼代码部分:
import data from './data.html'; // 引⼊需要引⽤的html⽂件
class Data extends Component {
render() {
苋菜的做法
return (
<iframe
title="resg"
srcDoc={data}
style={{ width: '100%', border: '0px', height: '1100px' }}
sandbox="allow-same-origin allow-scripts allow-popups allow-forms"
scrolling="auto"
/>
);
}
}
export default withRouter(Data);
注意,因为这⾥的“data”是整个html⽂件中的代码并不是路径,所以在iframe中不能⽤src的⽅式,⽽要⽤srcDoc来代替,详细请百度iframe属性
出现问题:
You may need an appropriate loader to handle this file type.美瞳片
| <!DOCTYPE html>
| <html lang="en">
| <head>
琵琶行小序翻译
可能在编译的过程中会出现如上问题,意思是需要合适的loader处理⽂件类型,在react项⽬中中没有解析html类型的loader,所以需要我们⾃⼰⼿动添加,解析html⽂件的loader为html-loader,加在fig.dev.js中,
同时也要安装依赖如下,以下是⽅法:
npm i html-loader -S
{
test: /\.html$/,
u: [
{
loader: solve('html-loader')
质量文化}
]
},
装好后即可解决问题:
⼩伙伴们感觉有帮助的话希望点个赞哟,如果有问题或疑问欢迎⼤家评论区留⾔,看到后第⼀时间回复。
⽅法⼆: 可以不⽤装html-loader插件,通过把html静态⽂件转换成字符串,再通过export导出,主要步骤如下:
新建html.js⽂件:
const html = "<!DOCTYPE html><html><head><meta chart="utf-8"><title>iframe</title></head><body><h1>test</h1></body></html>"; export default html;
然后在需要引⽤的地⽅引⽤即可:
import html from './html.js'; // 引⼊需要引⽤的js⽂件
class Data extends Component {
render() {
return (
<iframe
title="resg"
srcDoc={html}
style={{ width: '100%', border: '0px', height: '1100px' }}
sandbox="allow-same-origin allow-scripts allow-popups allow-forms"
scrolling="auto"
要挟的读音兔子怎么做好吃/
>
萝卜水的功效);
}机械工程导论论文
}
export default withRouter(Data);