react加载完整的html,React添加完整的html字符串到iframe,并显示jquery页面(iframe自适应高度)...

这篇博客介绍了如何在React应用中通过iframe嵌入一个使用jQuery的旧页面。首先,通过axios获取HTML内容并写入iframe。然后,利用jQuery设置输入字段的值,并加载外部js脚本。最后,实现iframe根据内容自适应高度,确保页面展示完整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:旧的jquery页面,需要引入到react中,用iframe引入,并且初始化jquery的一些数据,还要根据子内容来自适应iframe高度

const contentIFrameRef = useRef(null)

useEffect(() => {

initdata()

}, [])

const initdata = async () => {

const iframe: any = contentIFrameRef.current

axios.get(`http://172.16.139.63:8300/customer-feedback/v1/comment-card/html/819E4007?format=json`).then((response) => {

const data = response.data.Result.Html;

const iframeDocument = iframe.contentWindow.document

iframeDocument.open();

iframeDocument.write(data);

iframeDocument.close();

})

iframe.onload = function () {

var someNewScript = document.createElement('script');

var scriptUrl = document.createElement('script');

scriptUrl.src = 'https://promotions.newegg.com/Newegg/Feedback/Scripts/custom-feedback.min.js?v=$ScriptVersion';

someNewScript.innerText = `jQuery("input[name='186_NoType_141']").val("123");jQuery("input[name='198_NoType_171']").val("qwe");`;

iframe.contentWindow.document.getElementsByClassName('form-cells')[0].appendChild(someNewScript);

iframe.contentWindow.document.getElementsByTagName('head')[0].appendChild(scriptUrl);

var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;

iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;

};

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值