我开发了一个网站,在使用 IE 时,“后退”按钮并不总是返回到上一页 - Firefox 或 Chrome 没有问题。似乎对于某些页面更改,IE 最初不能显示该页面,然后成功加载它,但最初的失败出现在历史记录中。
然后,当您点击“后退”时,它首先会返回到错误条目(尽管屏幕上没有任何变化),然后第二次点击该按钮会让您返回一个页面。
我在 firefox 上没有看到相同的行为,我没有在页面转换中进行任何重定向,我拥有的唯一 .htaccess
规则是针对 FURL,这是一个直接的重定向-写,没有重定向:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
任何人都可以建议一种方法来找出 IE 不喜欢页面上的内容,这会导致这种情况发生吗?
同样的行为发生在 IE7 和 IE9 中。
更新:我想我已经将它与 linkedin 插件隔离开来。这些在整个站点中使用。没有任何插件的页面按预期工作,历史上没有什么奇怪的。在某些页面上,我有“关注我们”插件:
<script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/FollowCompany" data-id="568783" data-counter="none"></script>
一旦您转到该页面,它们在历史记录中只有一个“无法显示页面”。在另一个页面上,我调用了 6 个插件,用来自 linkedin 的 5 个配置文件和一个 Follow Us
插件填充团队页面。每次调用 linkedin 都会导致历史记录中显示“无法显示此页面”:
知道为什么会发生这种情况吗?
最佳答案
这个答案没有解决正在发生的事情,但我会把它留在这里直到真正的答案被发现(这个问题可能需要由 LinkedIn 自己解决)。
LinkedIn 喜欢你使用他们的插件来拉取内容,但是他们通过奇怪的重定向和历史记录中出现的错误导致了这个问题,破坏了后退按钮。 javascript 将两级 iframe 插入页面,但是您可以只获取第二级框架并将其直接放入您的 html 中。这样做的好处是速度快得多,缺点是需要维护以防 LinkedIn 后端发生任何变化。
例如,此 iframe 将为特定公司引入“关注我们”插件:
<iframe id="easyXDM_IN_Lib_li_gen_1346300675316_0_provider" frameborder="0"
src="http://www.linkedin.com/cws/followcompany?companyIdentifier=568783&counterPosition=none&original_referer=http%3A%2F%2Fwww.marshallmcadam.com.au%2Four-team.html&token=&isFramed=false&lang=en_US&_ts=1346111060041.3884"
style="width: 83px; height: 20px; display: inline-block;"
name="easyXDM_IN_Lib_li_gen_1346300675316_0_provider">
</iframe>
这是重要的部分:
src="http://www.linkedin.com/cws/followcompany?companyIdentifier=568783"
标识符应与您要为其提供关注按钮的标识符相匹配。其余选项直接从生成的 iframe 代码中提取,因此基本上没有必要。
关于internet-explorer - IE "Cannot Display the webpage"出现在浏览器历史记录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047236/