VBS中使用WMI事件处理监控系统进程

OA项目中遇到这样一个问题:用户起草一种类型的公文,编辑word正文时希望能够将公文中的一些内容自动带到正文中,这个无非就是从服务器上把公文所对应的word正文文件下载到本地,替换掉里面指定内容的事,问题的关键在于替换掉内容后,或者用户填写了内容后,关闭word文件,如何监听此事件以在word程序退出后将此文件上传到服务器,不然,用户岂不是只是在本地做了修改,毫无用处。google了很久,终于解决了此问题,过程如下:

<html>
	<body onload="download(34567);init("C://Temp/" + 34567 + ".doc");replacefile();wordlistener();">
	</body>
</html>
<script language="javascript">
	//根据公文ID下载文件
	function download(objID){
		doDownload(objID);	
	}
	function upload(filepath){
		doUpload(filepath);	
	}
</script>
<script language="vbscript">  
	'定义变量 开始
	'定义操作word文件的相关变量
	Dim myDocApp
	Dim myDoc
	Dim objSelection
	Dim wordfilepath
	'定义变量 结束
	
	'初始化 开始
	'设置操作word文件的相关变量
	function init(filepath)
		Set myDocApp = CreateObject("Word.Application")
		myDocApp.Visible = True
		myDocApp.Activate
		myDocApp.Application.ScreenUpdating = False
		set myDoc = myDocApp.Documents.Open(filepath)
		Set objSelection = myDocApp.Selection
		Set wordfilepath = filepath
	end function
	'初始化 结束
	
	'替换文件使用VBS 开始
	'对下载到本地的公文模板进行内容替换
	function replacefile()
		replace "#departname#","办公室"
		replace "#username#","张三"
		replace "#createDate#","2009-12-17"
	end function
	'替换文件使用VBS 结束

	'替换函数 开始
	function replace(text,replacetext)
    With objSelection.Find
        .Text = text
        .Replacement.Text = replacetext
        .Forward = True
        .Wrap = 1
        .Execute ,,,,,,,,,,2
    End With
  end function
  '替换函数 结束 
  
  '监听系统进程的函数 开始
  function wordlistener()
		strComputer = "."
		Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
		Set objEventSource = objWMIService.ExecNotificationQuery _
		    ("SELECT * FROM __InstanceOperationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Process'")
		Do While True
		    Set objEventObject = objEventSource.NextEvent()
		    If Ucase(Left(objEventObject.TargetInstance.Name, 7)) = "WINWORD" Then
		    	Select Case objEventObject.Path_.Class
		        '如果是打开
		        'Case "__InstanceCreationEvent"
		        		'在这里添加事件处理代码
		        '如果是关闭
		        Case "__InstanceDeletionEvent"
		            '在这里添加事件处理代码 上传文件
		            upload wordfilepath
		            Exit Do
		    	End Select
		    End If
		Loop
	end function
	'监听系统进程的函数 结束 
</script>

使用<!–//–>这样的html注释把js代码注起来的作用

一直不明白用eclipse代码提示功能生成<script></script>代码块的时候,会使用<!– //–>这样的html注释把js代码注起来。之前在各大搜索引擎找寻答案一直未果,今天无意中在w3school看到了答案。真是那个柳暗花明什么什么的,在此记录一下。

如何与老的浏览器打交道

那些不支持 JavaScript 的浏览器会把脚本作为页面的内容来显示。为了防止这种情况发生,我们可以使用这样的 HTML 注释标签:

<html>
<body>
<script type="text/javascript">
<!--
document.write("Hello World!");
//-->
</script>
</body>
</html>

 

注释行末尾的两个正斜杠是 JavaScript 的注释符号,它会阻止 JavaScript 编译器对这一行的编译。

 

不过,现在还有浏览器不支持js吗?

企业站

http://files.cnblogs.com/wangdetian168/zhandian.rar <script type=”text/javascript”><!–
google_ad_client = “pub-1985112462197986”;
/* 新广告 336×280, 创建于 10-8-20 */
google_ad_slot = “6915893334”;
google_ad_width = 336;
google_ad_height = 280;
//–>
</script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script><script type=”text/javascript”><!–
google_ad_client = “pub-1985112462197986”;
/* 336×280, 创建于 10-6-25 */
google_ad_slot = “9255958887”;
google_ad_width = 336;
google_ad_height = 280;
//–>
</script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>

javascript关闭窗口(兼容firefox,IE)

javascript关闭窗口,可以用下面简单的代码:

<a href="javascript:self.close()">关闭窗口</a>  

我在IE7下测试通过,但是firefox3.0却不行。

难道firefox不支持在href中直接写JavaScript?于是改成下面的样子:

<a href="javascript:alert('Hello World')">弹出窗口</a>  

这次IE7和firefox下测试都通过。那就不是href中直接写JavaScript的原因了。

继续测试firefox怎么关闭自身窗口

改成了如下代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<script type="text/javascript">  
<!--   
function windowClose(){   
//self.close();   
window.close();   
}   
//-->  
</script>  
<title>js测试</title>  
</head>  
<a href="javascript:self.close()">关闭窗口</a><br />  
<a href="javascript:alert('Hello World')">弹出窗口</a><br />    
<a href="#" onclick="windowClose()">js函数关闭窗口</a>  
<body>  
</body>  
</html>  

还是不能关闭窗口。难道firefox不支持window的close属性?

那window对象的close方法能不能关闭open方法打开的窗口呢?

写下面两个html文件放在同一个文件夹下

<script type="text/javascript">   
<!--   
function openWindow(){   
window.open("new.html","newWindow","width=200,height=100,toolbar=no");   
}   
//-->   
</script>   
<a href="#" onclick="openWindow()">open函数打开新窗口</a><br />   
<a href="new.html" target="_blank">超级链接在新窗口中打开新页面</a><br />   
<a href="new.html" target="_parent">超级链接在父窗口中打开新页面</a>  
<a href="javascript:window.close()">关闭窗口</a>   
<a href="javascript:self.close()">关闭窗口</a> 

用open方法和在”_blank”打开的可以在新窗口中关闭,而在”_parent”中打开的在firefox中还是关闭不

因此在firefox里用window的close方法时要注意他和IE不同的地方:在父窗口打开的页面是不能用close

方法关闭的。

然后去google搜了一下:之所以window.close在firefox不能使用,是因为firefox默认不能关闭用户打

开的网页,我们可以这样设置firefox:

打开firefox,在地址栏输入about:config

找到dom.allow_scripts_to_close_windows这项并改为true。

现在知道为什么了吧。那篇文章还有一段不错的内容,摘录如下:

众所周知,在javascript中window.close()是用来关闭窗口的,而且ie和firefox都是支持的。为了实现

用户对浏览器的绝对控制,ie中用close关闭非open打开的窗口时会弹出一个对话框询问用户。有时候我

们不希望再这样哆嗦,但是怎么去掉这个框呢,用下面的代码就可以了

<script language="javascript" type="text/javascript">    
  
function closeWindow() {    
  
window.open('','_parent','');    
  
window.close();    
  
}    
  
</script>    
<a href="javascript:closeWindow();">Close Window</a>  

jQuery实现页面checkbox参数传递(Struts2)

用过Struts2(以后简称S2)标签的人可能知道,checkboxlist标签并不是很好用,今天在遇到一个页面需求的时候Google了一下,但没太满意的结果,要么就是弄的很复杂,要么写的不完整,无奈自己弄了下用iterator标签+jQuery实现参数传递,效果还算理想,记下来以免以后忘记。

简单说下需求:

    这个部分是权限管理-角色添加与对应模块关联的实现过程。

流程:

    1.角色列表页选择一个要‘添加/修改’关联模块的角色。

    2.进入该角色对应模块列表页,要求选中之前已经关联的模块,未选的即还没关联。

    3.将选好的模块跟该角色关联,显示操作结果。

实现:

主要就是下面这一个方法

<script type="text/javascript">
$(document).ready(function(){
	
	//得到服务器传过来的原有权限id的字符串,格式自定义,我的格式为"0001;0002;xxx;"
	var checkMenu = $('#checkedMenu').val();
	//alert(checkMenu);
	//分割字符串成数组
	var array = checkMenu.split(";");
	for(var i = 0 ; i < array.length ; i++){
		//设置原有权限菜单处于选中状态,其中$("#0001")为id为0001的节点。
		$("#"+array[i]+"").attr("checked",true);
	}
	
	$('#butn').click(function(){
		//将已选模块的ID拼成 ID;ID 的字符串
		var aa = "";
		var i = 0;
		$("input:checked").each(function(){
			var j = $("input:checked").size();	
	        if(this.checked){
	        	i++;
	            aa+=this.value;
	            if(i != j){
	            	aa += ";";
	            }
	        }
		})
		//赋值给一个变量
		$('#menuIds').attr('value',aa);
		//提交
		$('#urForm').submit();
	});
	
	$('#selectTable').tablesorter();
});
</script>

form里的内容

<s:form id="urForm" name="urForm" method="post"
	action="sysRoleAddModuleThree" namespace="/bm" theme="simple">
	
	<s:hidden name="roleId" />
	<s:hidden name="checkedMenu" id="checkedMenu" />
	<s:hidden name="menuIds" id="menuIds" />
	
	<table id="selectTable" class="tablesorter">
		<thead>
		<tr>
			<th>选择</th>
			<th>注释</th>
			<th>创建时间</th>
			<th>是否有效</th>
			<th>链接URL</th>
		</tr>
		</thead>
		<tbody class="data-content">
		<s:iterator value="moduleList" status="stat">
			<tr>
				<td>
					<input name="modu" type="checkbox" id='<s:property value="moduleId"/>'
						value='<s:property value="moduleId"/>'>
				</td>
				<td><s:property value="modDeclare" /></td>
				<td><s:date name='createTime' format='yyyy年MM月dd日HH点mm分' /></td>
				<td><s:property value="isDisplay" /></td>
				<td><s:property value="moduleUrl" /></td>
			</tr>
		</s:iterator>
		</tbody>
		<tfoot>
		<tr>
			<th colspan="5"><button id="butn">确认提交</button></th>
		</tr>
		</tfoot>
	</table>
</s:form>

上面注释还算清楚,下面就没必要说明了。主要就是

id='<s:property value=”moduleId”/>’

注:模块选择是有另一个直接用jQuery tree + checkbox plug in选择的实现方法,上面这个不过是另一个小需求,有空再记录那个。

jquery组件精选

JQUERY MODAL DIALOG

说明:一个带关闭、可拖拽的对话框,适合用于信息提示
主页:http://plugins.jquery.com/project/modaldialog
演示:http://tautologistics.com/projects/jquery.modaldialog/doc/1.0.0/

SIMPLEMODAL

说明:屏蔽底层,在页面中间显示一个提示框
主页:http://plugins.jquery.com/project/SimpleModal
演示:http://www.ericmmartin.com/projects/simplemodal/

image combobox

说明:生成自定样式、内含图片的下拉框
主页:http://plugins.jquery.com/project/image-combobox
演示:http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/jquery-image-dropdown-2.1/index.html

FullCalendar

说明:一个包含有月、周、日视图的日历组件
主页:http://plugins.jquery.com/project/fullcalendar
演示:http://arshaw.com/fullcalendar/

jMonthCalendar

说明:一个只有月视图的日历组件
主页:http://plugins.jquery.com/project/jMonthCalendar
演示:http://www.bytecyclist.com/SourceCode/jMonthCalendar/1.3.0-beta/Demo.html

jQuery Week Calendar

说明:一个只有周视图的日历/事件组件
主页:http://plugins.jquery.com/project/weekcalendar
演示:http://jquery-week-calendar.googlecode.com/svn/trunk/jquery.weekcalendar/full_demo/weekcalendar_full_demo.html

jQuery UI Datepicker Project

说明:一个弹出窗口式日期选择组件,适合在文本框处使用
主页:http://plugins.jquery.com/project/jquery-calendar
演示:http://jqueryui.com/demos/datepicker/default.html

jQuery UI on Google Maps

说明:在 Google Map 上使用 jQuery 的漂亮UI
主页:http://plugins.jquery.com/project/jquery-calendar
演示:http://marcgrabanski.com/pages/code/jquery-ui-google-maps

mcDropdown jQuery Plug-in

说明:在下拉框中以多级菜单方式选择项目
主页:http://plugins.jquery.com/project/mcdropdown
演示:http://www.givainc.com/labs/mcdropdown_jquery_plugin.htm

mb.jQuery.components!

说明:超炫的显示方式
主页:http://pupunzi.com/#mb.components/components.html
演示:http://pupunzi.com/#mb.components/components.html

jQuery.validity

说明:表单内容验证
主页:http://plugins.jquery.com/project/validity
演示:http://validity.thatscaptaintoyou.com/

Supersized

说明:一个体验超棒的全屏图片展示
主页:http://plugins.jquery.com/project/Supersized
演示:http://buildinternet.com/project/supersized/default.php

cookies

说明:JS Cookie 操作库
主页:http://plugins.jquery.com/project/cookies
演示:http://code.google.com/p/cookies/

JQuery Twitter Suggestion

说明:仿 Twitter 登录风格的文本框提示
主页:http://plugins.jquery.com/project/twitterSuggestion
演示:http://www.enricofoschi.com/jquery/twittersuggestion/

MopBox

说明:效果超棒的弹出对话框,可做多页图文展示
主页:http://plugins.jquery.com/project/mopbox
演示:http://www.mopstudio.jp/mopBox2demo.html

UI.Layout

说明:适合做 Web 应用时做布局,上下左右都可隐藏
主页:http://plugins.jquery.com/project/Layout
演示:http://layout.jquery-dev.net/demos/simple.html

         http://layout.jquery-dev.net/demos.cfm

通胀概念股|抗通胀的股票

通货膨胀,是指整体物价水平相对特定数额货币(购买力)持续上升的状态。通货膨胀判断标准主要有三个:生产者价格指数(PPI)、消费者价格指数(CPI)、
零售物价指数(RPI)。通常我们看通货膨胀趋势主要是以CPI和PPI为标准,周末公布的CPI指数3.5%。

    什么是通货膨胀概念股

    通货膨胀概念股是指在通货膨胀的背景之下,相关上市公司因通货膨胀而引起的市场价格上升从中获益。比如说农产品价格大约占我国CPI指数的1/3,
因此农产品价格对CPI影响较大,反之CPI的上升也往往预示着农产品价格的上涨;其他影响CPI和PPI的主要因素包括有色金属、贵金属(黄金)、
石油煤炭天然气、水泥、建材、航运、肥料饲料、糖酒副食。这些行业由于通货膨胀大环境因素,会导致期货市场和现货市场价格上升,
从而提高产品价格、增厚上市公司利润。根据往年CPI高企时的经验,影响最大的是有色金属、黄金、石油煤炭天然气、钾肥、糖、酒等行业上市公司。

    什么是抗通货膨胀概念股(抗通胀概念股)?

    抗通胀概念股是指在通货膨胀的大背景下,由于公司所处产业不会受到通货膨胀因素的负面影响甚至受益与通货膨胀对企业利润的正面影响,
典型的有商业零售、黄金、房地产、券商等。由于通货膨胀意味着货币贬值、实际购买力下降,因此,现金存于银行已“不划算”,
人们无非有三种选择:拿出来消费、投资增值、投资保值。根据历史经验,抗通胀概念股中最为活跃的往往是黄金股和商业零售上市公司的股票。

    通货膨胀概念股与抗通胀概念股炒作线路:根据历史经验,炒作顺序依次为有色金属、黄金股-->钾肥资源概念股-->石油煤炭天然气-->

农产品-->制糖概念股-->航运股-->商业零售等抗通胀概念股。

    由于通货膨胀概念股抗通胀概念股覆盖面非常广泛,因此在这里我只在常规炒作的板块中挑选历史上市场表现较为活跃的品种或者游资偏爱的品种予以介绍。

    资源类上市公司:
    有色金属股:国际有色金属商品均以美元为计价单位且全球市场交易活跃,因此每当通货膨胀来临的时候,有色金属商品期货都随国际市场价格激烈的变动。因此,有色金属上市公司往往是通货膨胀来临时最先受益的。国际主要有色金属交易品种有铜、铅、锌、铝,因此国内有色金属股的炒作也首先围绕着这些资源类股票进行炒作。
    . 铜资源上市公司
    1. 铜陵有色(000630.sz)
    2. 云南铜业(000878.sz)
    3. 江西铜业(600362.sh)
    4. 西部矿业(601168.sh)
    5. 鑫科材料(600255.sh)
    注1. 完整铜资源上市公司详见 铜上市公司
    注2. 国内铜上市公司生产成本大约为 27000元-28000元/吨。
   
    . 铅锌资源上市公司
    1. 驰宏锌锗(600497.sh)
    2. 宏达股份(600331.sh)
    3. 西部矿业(601168.sh)
    4. 中金岭南(000060.sz)
 

    . 铝资源上市公司
    1. 中国铝业(601600.sh)
    2. 新疆众和(600888.sh)
    3. 豫光金铅(600531.sh)
    4. 中孚实业(600595.sh)
    5. 焦作万方(000612.sz)
 


    黄金股:
    1. 中金黄金(600489.sh)
    2. 山东黄金(600547.sh)
    3. 恒邦股份(002237.sz)
    4. 辰州矿业(002155.sz)
    5. 荣华实业(600311.sh)
    6. 鲁润股份(600157.sh)
    7. 西部矿业(601168.sh)
    8. 紫金矿业(601899.sh)
    9. 招金矿业(1818.hk)
 


    石油资源上市公司:
    1. 青岛金王(002094.sz)
    2. 中科英华(600110.sh)


    煤炭资源上市公司:
    1. 靖远煤电(000552.sz)
    2. 盘江股份(600395.sh)
    3. 安源股份(600397.sh)
    4. 爱使股份(600652.sh)
    5. 开滦股份(600797.sh)
    6. 鲁润股份(600157.sh)


    天然气资源上市公司:
    1. 陕天然气(002267.sz)
    2. 大通燃气(000593.sz)
    3. 长春燃气(600333.sh)
    4. 广汇股份(600256.sh)


    铁矿石资源上市公司:
    1. 金岭矿业(000655.sz)
    2. 鄂尔多斯(600295.sh)
    3. 方大特钢(600507.sh)

    钾肥资源上市公司:
    1. 中信国安(000839.sz)
    2. 盐湖钾肥(000792.sz)
    3. 盐湖集团(000578.sh)

 

    农产品上市公司:


    . 猪牛肉上市公司
    1. 罗牛山(000735.sz)
    2. 福成五丰(600965.sh)
    3. 新五丰(600975.sh)
    4. 顺鑫农业(000860.sz)
    5. 老白干酒(600559.sh)
    6. 高金食品(002143.sz)

    . 玉米上市公司
    1. 登海种业(002041.sz)
    2. 万向德农(600371.sh)

    . 棉花上市公司
    1. 冠农股份(600251.sh)
    2. 敦煌种业(600354.sh)
    3. 新农开发(600359.sh)
    4. 新赛股份(600540.sh)

    . 大米上市公司
    1. 隆平高科(000998.sz)
    2. 金健米业(600127.sh)
    3. 北大荒(600598.sh)
    4. 丰乐种业(000713.sz)

    酒类上市公司:
    白酒上市公司    红酒上市公司(葡萄酒上市公司)    黄酒上市公司    啤酒上市公司


    制糖上市公司:
    1. 南宁糖业(000911.sz),年产能60万吨左右,占全国产量5%。
    2. 贵糖股份(000833.sz),年产能13万吨蔗糖。

<!– 导入 在此 参考资料–><!– end 参考资料–><script type=”text/javascript”><!–
google_ad_client = “pub-1985112462197986”;
/* 新广告 336×280, 创建于 10-8-20 */
google_ad_slot = “6915893334”;
google_ad_width = 336;
google_ad_height = 280;
//–>
</script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script><script type=”text/javascript”><!–
google_ad_client = “pub-1985112462197986”;
/* 336×280, 创建于 10-6-25 */
google_ad_slot = “9255958887”;
google_ad_width = 336;
google_ad_height = 280;
//–>
</script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>

PowerDesign最新版下载|PowerDesign15下载|PowerDesign15即破解补丁|PowerDesigner12.5下载

PowerDesign是Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于Entiry-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。

<script type=”text/javascript”><!–
google_ad_client = “pub-1985112462197986”;
/* 728×90, 创建于 10-7-27 */
google_ad_slot = “9407691718”;
google_ad_width = 728;
google_ad_height = 90;
//–>
</script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>
PowerDesigner 15下载地址:http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Evaluation.exe库文件:
http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Library
PowerDesigner15.1破解补丁下载:
<script type=”text/javascript”><!–
google_ad_client = “pub-1985112462197986”;
/* 新广告 336×280, 创建于 10-8-20 */
google_ad_slot = “6915893334”;
google_ad_width = 336;
google_ad_height = 280;
//–>
</script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>
http://www.ali8ba.com/upfiles/pdflm15.rar

PowerDesigner 12.5下载地址:http://download.sybase.com/eval/PowerDesigner/powerdesigner125_eval.exe

PowerDesigner12.5破解补丁下载:
http://blogimg.chinaunix.net/blog/upfile2/080619224716.zip

破解方法:
下载 PowerDesigner12.5 后有一个 license.lic 和 pdflm12.dll 两个文件,license.lic 是用于破解序号的,pdflm12.dll 是用于替换原来安装后的文件,破解首先用 pdflm12.dll 替换安装要目录的 pdflm12.dll 文件,然后在PD的菜单中找到 Tools ==>> License Parameters ==>> 选第一个,然后先load找到 下载的 license.lic 文件,重启即破解完成。

PowerDesigner15.1的破解方法:
PowerDesigner 15.1 Enterpirse 破解文件 注册文件 pdflm15.dll 下载解压后覆盖 安装目录同名文件即可。绝对能用。

上面的地址要是不行,可以通过以下方法下载
http://www.sybase.com/detail_list id=11662&multi=true&SR=Y&show=1249
然后点连接PowerDesigner 12.5 Trial Evaluation Download
添一些信息,提交后到下面的页面
http://www.sybase.com/detail id=1038605
选择
Application – The PowerDesigner Product Main Installation
地址是:
http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Evaluation.exe

JS实现始终在屏幕右下角的图片源码

<html xmlns=”http://www.w3.org/1999/xhtml” >
<head>
<title>标题页</title>
<SCRIPT LANGUAGE=”JavaScript”>
function setVariables() {
imgwidth=235;      //图像的宽度
imgheight=19;      //图像的高度
if (navigator.appName == “Netscape”) { //netscape下的位置设置
    horz=”.left”;
    vert=”.top”;
    docStyle=”document.”;
    styleDoc=””;
    innerW=”window.innerWidth”;
    innerH=”window.innerHeight”;
    offsetX=”window.pageXOffset”;
    offsetY=”window.pageYOffset”;
}
else { //ie下的位置设置
    horz=”.pixelLeft”;
    vert=”.pixelTop”;
    docStyle=””;
    styleDoc=”.style”;
    innerW=”document.body.clientWidth”;
    innerH=”document.body.clientHeight”;
    offsetX=”document.body.scrollLeft”;
    offsetY=”document.body.scrollTop”;
   }
}
function checkLocation()
{
    objectXY=”rightBottom”;         //获取始终显示在右下角的div
    var availableX=eval(innerW);    //最大x坐标
    var availableY=eval(innerH);    //最大y坐标
    var currentX=eval(offsetX);     //鼠标当前的x坐标
    var currentY=eval(offsetY);     //鼠标当前的y坐标
    x=availableX-(imgwidth+30)+currentX; //最终div的x坐标
    y=availableY-(imgheight+20)+currentY;//最终div的y坐标
    evalMove();
    setTimeout(“checkLocation()”,10);    //定时移动
}
function evalMove() {               //移动到指定位置
    eval(docStyle + objectXY + styleDoc + horz + “=” + x);
    eval(docStyle + objectXY + styleDoc + vert + “=” + y);
}
</script>
</head>
<body bgcolor=”#fef4d9″ onload=”setVariables(); checkLocation();”>
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
我爱编程网<br />
<div id=”rightBottom” style=”position:absolute; visibility:show; left:235px; top:50px; z-index:2″>
<table width=10 bgcolor=#ffffff><td>
<a href=”http://www.google.net” onmouseover=”window.status=’我爱的搜索’;return true” onmouseout=”window.status=”;return true”><center><img src=”logo1.gif” width=”240″ height=”20″ border=”0″></center></a></td>
</table>
</body>
</html>

SteveYegge将Rails移植到Javascript/Rhino

为了提升google的开发效率,Steve努力尝试说服公司采纳Rails(包括Ruyb)作为开发工具,但是google不予采纳(google不想再增加支持的语言的数量)。Steve决定把Rails移植到JavaScript上去。这意味着一个google有可能在未来开源一个新的项目Rhino on Rails。

限制语言的数量将使得开发人员对代码的贡献度更大,他们无需担心成为不熟悉的语法的牺牲。

每一个公司正式支持的语言都是有成本的:基础架构的支持,文档,培训,代码冗余还有其它因素。虽然编程语言的核心语法都是大同小异,但是剩下的各自独特的语法就难以辨认,尤其是没有明确标准的动态语言,例如Perl,Ptthon,Ruby。Google非常谨慎的保持使用语言的数量。这样就可以构建大量对所用语言非常熟悉的专家。goole目前只使用C++,Java,Python,javascript作为正式的产品开发语言。