gpt4 book ai didi

html - Safari - Iframes 在页面更改时导致闪烁

转载 作者:行者123 更新时间:2023-11-28 03:34:38 24 4
gpt4 key购买 nike

我正在将一个可导航的站点移动到一个 iframe 中,它现在周围有其他框架。

一切正常,但现在在 Safari 中,当单击主 iframe 中的链接时,iframe 会暂时变为空白,然后加载页面。通常用户只会注意到已经改变的元素的变化。所以主站点模板似乎还没有重新加载。

这就是网站过去在 iframe 之外的行为方式,而在 Firefox 中,尽管现在位于 iframe 中,它仍然以这种方式行事。

每次点击 iframe 中的链接时,是否有任何方法可以阻止 Safari 从头开始​​重新加载整个页面?

最佳答案

答案已经过测试,非常严重,请注意!

所以 Safari 白色闪烁只发生在 Javascript 文件在 head 或 body 中被调用时,并且来自同一个域。

因此,您可以像往常一样从外部域中将 Javascript 文件包含在头部中并且不会闪烁,将其更改为您自己的域并且它会闪烁。

更奇怪的是,如果您在主体中包含本地 javascript 文件,则闪烁会更小,在主体之后它会完全消失。

这一定是一个错误!

下面是一个基本的例子,点击链接会导致闪烁。

测试页面 HTML:

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="shortcut icon" href="inzu.ico" >

<meta charset="UTF-8">
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

</head>
<body>
<iframe id="iframe" src="testframe.html" style="height:600px"/>
</body>
</html>

有闪烁的帧:

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<script src="/something.js" type="text/javascript"></script>
<style>
body{
background:red;
}
</style>
</head>
<body>

<a href="testframe.html">TEST</a>
</body>
</html>

没有闪烁的帧:

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<style>
body{
background:red;
}
</style>
</head>
<body>

<a href="testframe.html">TEST</a>
</body>
<script src="/something.js" type="text/javascript"></script>
</html>

关于html - Safari - Iframes 在页面更改时导致闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44556260/

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