在WSH中使用jQuery

标签: , , ,

Windows Script Host(简称WSH),中文译名为“Windows 脚本宿主”,是Windows操作系统脚本语言程序的运行环境,自带VBScript和JScript解释器。

jQuery是一套跨浏览器的JavaScript库,强化HTML与JavaScript之间的操作。由John Resig在2006年1月的BarCamp NYC上释出第一个版本。目前全球有28%的网站使用jQuery,是目前最受欢迎的JavaScript库。

WSH中的JScript主要运行在Windows操作系统中,而jQuery的JavaScript主要运行在浏览器,两样看起来毫不相干的东西能结合在一起使用吗?答案是肯定的。

我在一个日本的网站上找到了一段代码:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<package>
  <job id="ajax">
  <?job error="true" debug="false" ?>

  <!-- jQuery for WSH -->
  <script language="javascript">
  <![CDATA[
    var html = new ActiveXObject("htmlfile");
    var window = html.parentWindow;
    var navigator = window.navigator;
    var document = window.document;
    var location = document.location;
    window.ActiveXObject = {};
  ]]>
  </script>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js">
  <![CDATA[
      var $ = window.$;
  ]]>
  </script>
  <!-- /jQuery for WSH -->

  <script language="javascript">
  <![CDATA[
    (function(url){
      $.ajax({
        url: url,
        dataType: "xml",
        async: false,
        success: function(xml){
          var info = url;
          $(xml).find("item > title").each(function(){   
            info += "\n" + $(this).text();
          });
          WScript.Echo(info);
        },   
        error: function(){   
          WScript.Echo("Error at $.ajax");   
        }
      });
    })("http://d.hatena.ne.jp/plasticgrammer/rss2");
  ]]>
  </script>
  </job>
</package>

这个例子是用WSF(Windows Script File)来写的,将上面的代码保存为*.wsf拓展就可以运行。从代码可以看出,首先创建了一个htmlfile对象,然后构造出jQuery中要用到的window、document等在浏览器中会自动生成的变量,再从Google上加载jQuery源码,这样就不会报错了。

但是我不喜欢用wsf格式来写脚本,我更喜欢纯粹一点,要么vbs,要么js。既然jQuery是JavaScript写的,这里自然用JScript。把上面的代码改写成纯粹的JScript并不难,我就懒得贴出来了。自己动手,丰衣足食。

随机文章:

  1. TL-WR703N进入OpenWrt的Failsafe安全模式
  2. Windows下编译支持IPv6的Apache
  3. 用Python脚本写ASP页面
  4. 64位系统VBS调用32位COM组件
  5. 中兴F460 V5.0光猫恢复出厂配置

留下回复