如何用js判断浏览器是世界之窗?

MT502 2009-11-09 09:49:16
世界之窗的useragent和ie一样,有什么方法判断吗?
...全文
598 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lenel 2010-01-11
  • 打赏
  • 举报
回复
判断"主流"的山寨浏览器的方法也保留着
先把maxthon 360 TT 啥的过掉
上面的这个方法解决theworld g-ie等等其他所有..
lenel 2010-01-11
  • 打赏
  • 举报
回复
我最终是绕了个弯子解决这个问题.
经过测试在山寨浏览器第二次载入swf后,
ExternalInterface.call("jsFunction");
有时可以执行,但是swf得不到jsFunction返回的结果.

所以判断下返回,如果非法再调用一个js方法
将原有swf所在div的innerHTML清空
为swf的src后面加上random参数后重新载入swf.

加个rewrite状态,判断下只尝试reload一次不要死循环了.
这个办法勉强能用.这个是我09年遇到的最恶心的bug.

lenel 2010-01-06
  • 打赏
  • 举报
回复
楼主 我遇到和你一样的问题
你是怎么解决的
也是第二次调用时出错
你说该了flash注册js的方式
如何做的 可否分享下下
MT502 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mengshan1986 的回复:]
useragent用alert打印可以看到有世界之窗的标记的。
[/Quote]
你确定你试过了吗?
navigator的信息我打印出来是;
世界之窗:
appCodeName:Mozilla
appName:Microsoft Internet Explorer
appMinorVersion:;SP2;
cpuClass:x86
platform:Win32
plugins:
opsProfile:
userProfile:
systemLanguage:zh-cn
userLanguage:zh-cn
appVersion:4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 1.1.4322; .NET CLR 3.5.30729)
userAgent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 1.1.4322; .NET CLR 3.5.30729)
onLine:true
cookieEnabled:true
mimeTypes:

和IE的:
appCodeName:Mozilla
appName:Microsoft Internet Explorer
appMinorVersion:;SP2;
cpuClass:x86
platform:Win32
plugins:
opsProfile:
userProfile:
systemLanguage:zh-cn
userLanguage:zh-cn
appVersion:4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 1.1.4322; .NET CLR 3.5.30729)
userAgent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 1.1.4322; .NET CLR 3.5.30729)
onLine:true
cookieEnabled:true
mimeTypes:

一模一样,现在看看有没有什么hack能区分的了
mengshan1986 2009-11-09
  • 打赏
  • 举报
回复
useragent用alert打印可以看到有世界之窗的标记的。
MT502 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ws_hgo 的回复:]
以IE,FF,遨游为主吧
[/Quote]
我是说基于IE内核的,主流的还是傲游、360、TT和世界之窗了
ws_hgo 2009-11-09
  • 打赏
  • 举报
回复
以IE,FF,遨游为主吧
MT502 2009-11-09
  • 打赏
  • 举报
回复
主流的还是这几个吧,其他先不管了。
现在js要调用flash里的方法,但是对于这些基于IE的浏览器,第二次就调用不到了,而IE是没问题的。
网上搜了下也没什么特别好的办法,只能是发现是基于IE内核浏览器的时候,falsh的版本号改成随机数,每次都重新下载。
我又不想让IE也每次下载flash,所以想区分开来。
Siramizu 2009-11-09
  • 打赏
  • 举报
回复
基于IE内核的多了,你这个工程量不小啊,flash里面没有什么可以设置缓存的东西吗?
MT502 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 siramizu 的回复:]
它本来就是IE,不过穿了个马甲
[/Quote]
是啊,但是傲游,360,TT都会加上自己的agent字段,只有世界之窗搞的跟ie一模一样,也太不厚道了吧?
我现在就是想把IE和基于IE内核的区分开来,因为这些基于IE的浏览器在缓存flash的策略上和IE不一样。
Siramizu 2009-11-09
  • 打赏
  • 举报
回复
它本来就是IE,不过穿了个马甲
MT502 2009-11-09
  • 打赏
  • 举报
回复
后来还是修改了flash注册js的方式,在任何浏览器里都可以正常使用了。
看来没人知道啊。。。结贴了

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧