13

我开发了一个网站,在使用 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 都会导致历史记录中出现“无法显示此页面”:

在此处输入图像描述

任何想法为什么会发生这种情况?

4

1 回答 1

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 代码中提取的,因此几乎没有必要。

于 2012-09-24T00:41:08.130 回答