gpt4 book ai didi

jquery - 如果页面的 url 为 '#' ,并且嵌入了 flash/swf,则 IE 标题将更改为

转载 作者:行者123 更新时间:2023-12-03 21:39:11 24 4
gpt4 key购买 nike

问题是,如果 IE (6.0+) 嵌入了 Flash 内容,并且页面的 url 中某处有 #,那么当 Flash 内容加载时,或者用户与其交互时,那么窗口的标题,更改为 hash 之后的内容。

例如http://adobeflashwebsite.com/index.html#somediv

然后,当用户点击 Flash 内容时,或者很多时候甚至在加载 Flash 内容时,页面标题会更改为“somediv”。

这只发生在 IE 中。

下面是我面临的一个非常具体的案例:

以下是我面临问题的环境:

  1. Shiding 引擎显示类似 iGoogle 的页面
  2. Sammy.js
  3. 渲染 flash/swf 的小工具

这里的问题是,无论我尝试使用哪个插件嵌入 flash,我最终都会遇到以下问题

  1. 当 Flash 完全加载时,它会附加类似 #tab/xx 的内容,这实际上是 sammy 用于存储页面内最后的导航历史记录的字符串
  2. 当用户开始与 Flash 交互时,标题将被完全删除,仅保留 #tab/xx 作为标题。
  3. 当刷新小工具时,即使如此,也会出现类似 #2 的问题。

有人可以建议一下,问题可能是什么?它很可能与 sammy.js 有关,因为 iGoogle 没有这个问题。

最佳答案

以下解决方法是(到目前为止)我最接近解决问题的唯一方法:

var isIE11OrGreater = !!(navigator.userAgent.match(/Trident/) && !navigator.userAgent.match(/MSIE/));
if (!isIE11OrGreater) {
var originalTitle = document.title.split("#")[0];
document.attachEvent('onpropertychange', function (evt) {
if(evt.propertyName === 'title' && document.title !== originalTitle) {
setTimeout(function () {
document.title = originalTitle;
}, 1);
}
});

}

//Incase the developer wants to change the title manually, instead of directly using //document.title=newtitle, he will need to use changeTitle(newTitle)
function changeTitle(newTitle)
{
originalTitle = newTitle;
document.title = newtitle;
}

关于jquery - 如果页面的 url 为 '#' ,并且嵌入了 flash/swf,则 IE 标题将更改为 <afterHash>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4562423/

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