360浏览器下加入收藏夹功能失效的问题

测试同学那边提交了一个bug,是360浏览器下无法使用加入收藏夹功能。我简单的看了下,在ie浏览器下,加入收藏夹的功能是正常的,而360显然用的是ie内核,理论上没理由不行的。

不过还是下载了360自己试了一下,没想到真的不行。。

于是开始了这次的调式:

首先上测试代码

事实证明,360使用的ie的内核,但是也确实没有得到预想的效果。

由于在360下,即时有错也看不到错误提示,所以简单的判断就是,window.external.AddFavorite这里是不是有问题呢。

alert(window.external) //360 undefined & ie [object]

好吧,360下没有AddFavorite方法了。。

原生的被改了,只好放弃对360的支持了。

那么判断一下,window.external是否存在,如果不存在,就给予提示。

但是脚本并没有进入对应的分支,如下:

if(!window.external) {

alert('360?'); // unexec

}

alert(!!window.external) //ie&360 true

呃。。。再来几个判断看看:

alert(window.external == window.undefined) //ie&360 false

alert(typeof window.external == "undefined") //ie&360 false

alert(typeof window.external == "object") //ie&360 true

我应该怎么判断才好。。。

KISSY框架倒是有判断外壳的方法,但是360提供了可以伪装ie的user-agent的选项(3q大战增加的?)

如果依赖这种方法来判断的话,依然有可能会有用户狠狠的点击着收藏链接然后大骂。。。

于是想要用捕捉错误的方式来处理,

try {

window.external.AddFavorite(href, title);

}catch(e) {

alert('360?');

}

然后发现,居然没有捕捉到错误!!

我好奇了,window.external到底是什么。。

alert(window.external.toString);// ie & 360 undefined

好吧,没有toString方法。。

执行window.external.toString();的时候,在ie下当然就报错了,但是360下没有报错。。

ok,终于找到方法啦。

(0)

相关推荐

  • 360浏览器如何导出收藏夹

    当我们重装系统,或者有其他原因需要保存浏览器收藏夹中的内容.下面小编以360浏览器为例,与大家分享一下如360浏览器何导出收藏夹. 1.打开浏览器,进入个人中心,单击下面的收藏就可以收藏本页 2.在个 ...

  • 360浏览器怎么恢复收藏夹

    360浏览器怎么恢复收藏夹

  • 电脑360浏览器软件的收藏夹如何添加网址

    360浏览器是我们经常在电脑上使用的浏览器软件之一,如果我们在上网的过程中遇到重要的网址想要添加到收藏夹.那么接下来小编就教大家怎样操作.具体如下:1. 首先我们打开电脑进入到桌面,找到360浏览器图 ...

  • windows8下IE浏览器实现漫游收藏夹(避免来回导入导出网址和历史记录)

    IE浏览器今天发布了关于Win8 下 IE浏览器实现漫游收藏夹的教程。这样一来就不必每次都在新电脑上来回导入导出网址和历史记录。只需在Windows8中登陆您的Microsoft账户就能实时同步IE1 ...

  • Win8下IE10浏览器实现漫游收藏夹不必来回导入导出网址和历史记录

    IE浏览器今天发布了关于 Win8 下 IE浏览器实现漫游收藏夹的教程。这样一来就不必每次都在新电脑上来回导入导出网址和历史记录。只需在Windows8中登陆您的Microsoft账户就能实时同步IE ...

  • Win8下IE10浏览器怎么漫游收藏夹

    IE浏览器今天发布了关于 Win8 下 IE浏览器实现漫游收藏夹的教程.这样一来就不必每次都在新电脑上来回导入导出网址和历史记录.只需在Windows8中登陆您的Microsoft账户就能实时同步IE ...

  • 私人收藏 迅雷7收藏夹功能做到随藏随下

    平时下载的资源不知道扔到哪里了,一些顺手的软件是不是在更换电脑或重新安装系统后无法找到了?迅雷7中的收藏夹功能可以解决这个问题,让我们把自己的资源随身携带。不管我们身处何处,都能够让自己喜欢的东东如影 ...

  • 如何在手机360浏览器上将网址收藏到到收藏夹

    今天小编来教大家如何在手机360浏览器上将网址收藏到到收藏夹具体如下:1. 第一步,选择进入360浏览器app.2. 第二步,进入"百度"网页,在框中填入"百度经验&qu ...

  • 360浏览器怎么取消收藏到云盘?

    360浏览器怎么取消收藏到云盘呢?360安全浏览器因为其小巧、快速、安全、功能强大而受到大家欢迎,但是在浏览图片时总会出现收藏到云盘这个提示了,小编看着就特别碍眼,那么要怎么取消呢?下文小编就教大家浏 ...