你必须穷尽一生磨练技能,这就是成功的秘诀,也是让人家敬重的关键。

IE下如果包含锚点并且包含Flash元素title会被追加锚点的问题

行为 练习 19708浏览 4评论

在IE下,如果页面的URL包含锚点(#abc),并且页面包含Flash元素(现在大多数页面都会有)。

当Flash加载的时候,会把页面的title(document.title)给改变,变成 “原title#锚点”。如果有多个Flash就会变成“原title#锚点#锚点#锚点#锚点”。

找了半天解决办法,需要在每次Flash加载后都重设title,这个肯定不行,页面那么多元素,不能挨个控制。

同事提供了解决方法:

var originalTitle = document.title.split(“#”)[0];
document.attachEvent(‘onpropertychange’, function (evt) {
evt = evt || window.event;
if(evt.propertyName === ‘title’ && document.title !== originalTitle) {
setTimeout(function () {
document.title = originalTitle;
}, 1);
}
})

但是这样有个问题,就是以后修改不了页面title了,因为每次修改都会被重置。

function changeTitle(newTitle)
{
originalTitle = newTitle;
document.title = newtitle;
}

转载请注明:练小习的前端技术笔记 » IE下如果包含锚点并且包含Flash元素title会被追加锚点的问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 你最帅 !!!!!!!!!!友情观光团
    仙女馒头2年前 (2017-05-17)回复
  2. 您好,申请友情链接。
    web前端博客6年前 (2013-01-14)回复
  3. 求链接交换
    52HtmlCssJs6年前 (2012-08-22)回复
  4. 您好, 可以个贵站加个链接吗?
    云淡然7年前 (2012-05-04)回复