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,终于找到方法啦。

时间: 2024-11-08 17:34:01

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

360浏览器怎么恢复收藏夹

  1.打开360安全浏览器,点击左上角的收藏 2.点击备份与还原 3.点击还原本地备份,这种方法只能还原最近几天的 4.导出至HTML文件,把360收藏夹导出保存在电脑,以后电脑需要重装什么的就再也不用担心了 5.从HTML文件导入,把你保存的收藏夹导入,你会发现你保存的网站回来了,这种方法最保险,推荐使用.

自己用.net2.0的编写的浏览器 怎么实现收藏夹功能???

问题描述 用的是c++怎么实现把当前网页添加到当前用户的收藏夹里?怎么加载已经在收藏夹里的网页?(显示出来准备点)怎么让它点了以后能导航到相应的收藏? 解决方案 解决方案二:顶一下

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

  IE浏览器今天发布了关于 Win8 下 IE浏览器实现漫游收藏夹的教程.这样一来就不必每次都在新电脑上来回导入导出网址和历史记录.只需在Windows8中登陆您的Microsoft账户就能实时同步IE10的收藏夹和历史记录.不仅如此,Win8 的同步功能还能支持同步你的桌面背景.网络及Windows设置等等-

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

  平时下载的资源不知道扔到哪里了,一些顺手的软件是不是在更换电脑或重新安装系统后无法找到了?迅雷7中的收藏夹功能可以解决这个问题,让我们把自己的资源随身携带.不管我们身处何处,都能够让自己喜欢的东东如影随形,随时下载! 一.下载并安装最新版本软件 首先从迅雷软件中心下载并安装最新版本的迅雷7,版本不得低于7.1.6.x. 二.登录迅雷 打开迅雷7,单击最上方雷友区的"登录"按钮,在打开窗口中输入会员帐号和密码登录(如图1). 图1 登录雷友 小提示: ★下面两种方法可以帮助大家升级到

给浏览器添加收藏夹功能 用什么函数,怎样用vs2010 添加

问题描述 给浏览器添加收藏夹功能 用什么函数,怎样用vs2010 添加 给浏览器添加收藏夹功能 用什么函数,怎样用vs2010 添加 解决方案 可以使用js函数,你是开发的.net吗 加入收藏 解决方案二: http://www.cnblogs.com/Joans/archive/2010/12/03/code.html

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

  360浏览器怎么取消收藏到云盘呢?360安全浏览器因为其小巧.快速.安全.功能强大而受到大家欢迎,但是在浏览图片时总会出现收藏到云盘这个提示了,小编看着就特别碍眼,那么要怎么取消呢?下文小编就教大家浏览器360浏览器收藏到云盘关闭的教程,一起去了解下吧. 360浏览器收藏到云盘关闭教程: 1.打开360浏览器,点击右上角的"工具"在下拉菜单中选择"选项" 2.然后找到移动和云把那个拖拽网页内容时,显示云收藏.把钩钩给去除掉.如图所示: 3.但是大部分网友即使是去

基于Bootstrap的Metronic框架实现页面链接收藏夹功能_javascript技巧

在一个系统里面,往往有很多菜单项目,每个菜单项对应一个页面,一般用户只需要用到一些常用的功能,如果每次都需要去各个层次的菜单里面去找对应的功能,那确实有点繁琐.特别是在菜单繁多,而客户又对系统整体不熟悉的情况下,如果有一个类似浏览器的收藏夹模块,把一些常用的菜单连接保存起来,每次从这个收藏夹主页去找对应的页面,那样确实是省事省力,非常方便.本篇随笔就是介绍在基于Metronic的Bootstrap开发框架里面实现这个收藏夹的思路. 1.系统的收藏夹界面处理效果 为了实现这个收藏夹功能,我们也需要

基于Metronic的Bootstrap开发框架经验总结(12)--页面链接收藏夹功能的实现

在一个系统里面,往往有很多菜单项目,每个菜单项对应一个页面,一般用户只需要用到一些常用的功能,如果每次都需要去各个层次的菜单里面去找对应的功能,那确实有点繁琐.特别是在菜单繁多,而客户又对系统整体不熟悉的情况下,如果有一个类似浏览器的收藏夹模块,把一些常用的菜单连接保存起来,每次从这个收藏夹主页去找对应的页面,那样确实是省事省力,非常方便.本篇随笔就是介绍在基于Metronic的Bootstrap开发框架里面实现这个收藏夹的思路. 1.系统的收藏夹界面处理效果 为了实现这个收藏夹功能,我们也需要

gridview中使用checkbox 完成批量添加到收藏夹功能,不能选中checkbox 的值

问题描述 gridview中使用checkbox完成批量添加到收藏夹功能,不能选中checkbox的值,看了很多网上的解答,都是说要if(!IsPostBack){绑定gridview与数据库},但是我的问题是,gridview的外边有一个DropDownList控件,由DropDownList控件下拉来选择不同的时间,gridview里的内容要根据此时间的变化而变化,所以我是在DropDownList1_Changed事件中绑定gridview与数据库,但现在gridview里第一例放了che