我开发了一个网站,当使用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都会导致历史记录中显示“无法显示此页面”:
为什么会发生这种情况的任何想法?
答案 0 :(得分:3)
这个答案并没有解决正在发生的事情,但是我会把它留在这里直到找到真正的答案(这个问题可能需要由LinkedIn自己解决)。
LinkedIn喜欢你使用他们的插件来提取内容,但是他们通过一个奇怪的重定向导致了这个问题,并且错误出现在历史记录中,打破了后退按钮。 javascript会在页面中插入两层iframe,但是你可以直接将它放到你的html中。这样做的好处是速度更快,并且在LinkedIn的后端发生任何变化时需要维护的缺点。
例如,此iframe将为特定公司提供Follow Us插件:
<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代码中提取,因此几乎没有必要。