js的window.external

对于js中的window.external属性,它可以用来调用浏览器提供的外部方法

--------------------------------------
我们在js中可以通过window.external.method()来调用浏览器提供的外部方法method。

IE的已默认实现了一些外部方法,可以参见
1:某中文文章:http://www.it118.org/Specials/2e876829-483a-4216-a6ef-08a472c94297/8f8d0507-b4c8-4d92-8e35-3c88dade3a17.htm
2:官方文档里有更多: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/external.asp

在嵌入了浏览器的工程中,除了IE默认提供的外部方法之外,需要网页的脚本中能调用C++代码,要实现这种交互,就必须实现脚本扩展。实现脚本扩展就是在程序中实现一个IDispatch接口,通过CHtmlView类的OnGetExternal虚函数返回此接口指针,这样就可以在脚本中通过window.external.XXX(关键字window可以省略)来 引用接口暴露的方法或属性(XXX为方法或属性名)。
参考《实现脚本扩展》http://topic.csdn.net/u/20080116/17/5fbac468-1188-4c9c-9339-ad48edd8a4d3.html

Firefox与Chrome也提供了external对象,例如,他们都默认的实现了opensearch的两个外部方法:
AddSearchProvider IsSearchProviderInstalled
Chrome下,可以在控制台输入window.external看到。
Firefox默认提供的外部方法稍稍多一些,也可以可以通过firebug看到。

总结:

    其实js中我们可以分为3大块,ECMAScript中定义的部分,DOM和BOM

    ECMAScript中

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 运算符
  • 对象

   DOM 

       文档对象模型,它将HTML,XML定义成了一种树形结构,元素、元素的属性、元素的文本都对应相应的树节点,并且提供了对文档节点访问、修改、删除等方法的规范,

 这些方法可以使开发者可以很容易的获取到指定的DOM节点,同时可以去修改或删除它,从而改变整个文档的结构。、

 BOM

     浏览器对象模型,它提供对浏览器窗口的访问和操作,使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人     怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。

  • 弹出新的浏览器窗口
  • 移动、关闭浏览器窗口以及调整窗口大小
  • 提供 Web 浏览器详细信息的定位对象
  • 提供用户屏幕分辨率详细信息的屏幕对象
  • 对 cookie 的支持
  • IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

     由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。

  • Window 对象
  • Navigator 对象
  • Screen 对象
  • History 对象
  • Location 对象  

     对于IE的BOM还包含qui支持ActiveXObject对象的支持 

 

posted @ 2013-12-27 18:23  酷乐公司  阅读(1833)  评论(0编辑  收藏  举报