如何强制响应式 iframe 目标尊重 iframe 的视口并像直接​​访问它一样做出响应?

How to force responsive iframe target to respect viewport of iframe and behave responsively as if it were being accessed directly?

以下网站在直接访问时完全响应:

https://prosolutionplus.com/

但是,当通过 iframe 访问时,它的响应行为不正常并且不符合浏览器的宽度:

iframe {
         display: block;       /* iframes are inline by default */
         border: none;         /* Reset default border */
         height: 100vh;        /* Viewport-relative units */
         width: 100vw;         /* Viewport-relative units */
     }

<div class="iframeContainer">
   <iframe src="https://prosolutionplus.com/">
   </iframe>
</div>

https://jsfiddle.net/g2eupd80/

我已经尝试了所有我能找到的 iframe 响应式解决方案(包括上面实际适用于其他响应式网站的解决方案),但没有任何东西适用于该特定网站。 我注意到,当通过 iframe 访问时,目标站点设置的宽度为 1093px,但它不会在直接访问时这样做,并且是然后调整大小,所以这可能就是我尝试过的不同解决方案不起作用的原因。换句话说,目标站点的行为不同取决于它是由浏览器直接访问还是通过 iframe 访问。

要做到这一点,目标站点显然检测到某些东西,当通过 iframe 访问时与直接访问时不同,我只是不知道那是什么是。

如何解决此问题,使 iframe 像浏览器一样被处理,以便目标站点在 iframe 中响应响应?

比较上面的 JSFiddle 示例,它在直接访问时响应,但在通过 iframe 访问时不响应,下面的示例在直接访问和通过 iframe 访问时响应。 代码中的唯一区别是 URL.

iframe {
         display: block;       /* iframes are inline by default */
         border: none;         /* Reset default border */
         height: 100vh;        /* Viewport-relative units */
         width: 100vw;         /* Viewport-relative units */
     }

<div class="iframeContainer">
   <iframe src="https://www.vigrxplus.com/">
   </iframe>
</div>

https://jsfiddle.net/phL2nt34/

这是一个CORS issue on prosolutionplus.com。如果您在其自己的小选项卡中打开该站点,然后将 JavaScript 关闭 ,您会注意到它设置了相同的 1093 像素,并且其行为与使用 iframe 时一样。

如果在 iframing prosolutionplus.com 时打开 JavaScript 控制台,您会注意到弹出 CORS 错误,指出:

frontend.min.js?ver=2.4.5.1:5 Uncaught DOMException: Blocked a frame with origin "https://www.prosolutionplus.com" from accessing a cross-origin frame.`

看起来这个问题是由 Thrive Editor 引起的。此外,这里有一个关于跨源及其被阻止原因的快速 SO 阅读:SecurityError: Blocked a frame with origin from accessing a cross-origin frame