我正在使用一個覆蓋方法槳支付系統(tǒng)。在本例中,它在DOM中呈現(xiàn)一個iframe,然后我點擊該iframe中的輸入來輸入信用卡數(shù)據(jù)等。然后關(guān)閉iframe——我回到了我的站點,界面被放大了。
我做了一些研究,找到了幾個解決方案,比如: & ltmeta name = & quot視窗& quotcontent = & quot寬度=設(shè)備寬度,初始比例=1.0,最大比例=1.0,用戶可擴展=否& quot/& gt;。 和 -webkit-text-size-adjust:無!重要;觸摸-動作:無!重要;iframe的css規(guī)則 但是對我沒用,也許有人知道答案?
有一段時間了...發(fā)現(xiàn)paddleJs,當你打開他們的iframe時,添加一個帶有viewport的meta標簽到你的DOM,這會導(dǎo)致IOS上的縮放,所以React的解決方案如下:
添加一個useEffect,從DOM中刪除meta標簽,一切都很好。
useEffect(() => {
const observer = new MutationObserver((mutationsList) => {
for (const mutation of mutationsList) {
if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
document
.querySelector('[id="__mobileViewportControl_hook__"]')
?.remove();
}
}
});
observer.observe(document.querySelector('head')!, {
childList: true,
});
return () => {
observer.disconnect();
};
}, []);