gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:26:15 26 4
gpt4 key购买 nike

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

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 访问时,目标网站的宽度设置为 1093 像素,但当直接访问时它不会这样做,然后调整大小,所以这可能是为什么我尝试过的不同解决方案都不起作用。换句话说,目标站点的行为不同取决于它是由浏览器直接访问还是通过 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关于 prosolutionplus.com 的问题.如果您在其自己的小标签中打开网站,并关闭 JavaScript,您会注意到它设置了相同的 1093 像素,并且其行为与在 iframed 中一样。

如果在 iframing 时打开 JavaScript 控制台 prosolutionplus.com ,您会注意到弹出 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

Screenshot of the console error.

关于html - 如何强制响应式 iframe 目标尊重 iframe 的视口(viewport)并像直接​​访问它一样做出响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59693149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com