|
2007年7月12日
struts2的s:iterator 可以遍歷 數據棧里面的任何數組,集合等等 以下幾個簡單的demo: s:iterator 標簽有3個屬性: value:被迭代的集合 id :指定集合里面的元素的id status 迭代元素的索引
1:jsp頁面定義元素寫法 數組或list
<s:iterator value="{'1','2','3','4','5'}" id='number'> <s:property value='number'/>A </s:iterator> 打印結果為: 1A2A3A4A5A
2:索引的用法 如果指定了status,每次的迭代數據都有IteratorStatus的實例,它有以下幾個方法 int getCount()返回當前迭代了幾個元素 int getIndex()返回當前元素索引 boolean isEven()當然的索引是否偶數 boolean isFirst()當前是否第一個元素 boolean isLast() boolean isOdd()當前元素索引是否奇數
<s:iterator value="{'a','b','c'}" id='char' status='st'> <s:if test="#st.Even"> 現在的索引是奇數為:<s:property value='#st.index'/> </s:if> 當前元素值:<s:property value='char'/> </s:iterator> 3:遍歷map value可以直接定義為:
value="#{"1":"a","2":"b"}" 每個元素以都好隔開。元素之間的key和value 冒號隔開 value也可以是數據棧里面的java.util.Map對象 遍歷寫法如下:
<s:iterator value="map" id="id" status="st"> key : <s:property value='key'/> value:<s:property vlaue='value'/> </s:iterator> 當然key 和value 都可以使java 的 Object
3:遍歷數據棧.簡單的List類, List<Attr> class Attr{String attrName;String getAttrName(){return "123";}}
<s:iterator value="label" id="id"> <s:property value="#id.attrName" /> </s:iterator> 當然value 還可以寫成 value="%{label}" label可以有.操作 label的屬性List 可以寫成value="%{label.list}" 相當于:getLabel().getList();
4:遍歷2個list; List<AttrName> attrN {color,size,style} List<AttrValue> attrV {red,20,gay} 這2個list的元素是一一對應的,一個attrN對應一個attrV
< s:iterator value="%{attrN }" id="id" status="status"> index is : <s:property value='status.index'/> attrName is : <s:property value='id'/> or <s:property value='%{id}'/> attrName is : <s:property value='%{attrV[#status.index]}'/> </ s:iterator> 轉自: http://www.aygfsteel.com/Reg/archive/2009/11/20/303085.html
點擊“開始→運行”,在彈出的“運行”對話框中輸入“REGSVR32 /n /i:u shell32”(不含雙引號),然后回車,片刻后會彈出“shell32中的DllInstall成功”對話框,“顯示桌面”按鈕就可以完美歸來了
摘要: HTML字符實體(Character Entities),轉義字符串(Escape Sequence)
為什么要用轉義字符串?
HTML中<,>,&等有特殊含義(<,>,用于鏈接簽,&用于轉義),不能直接使用。這些符號是不顯示在我們最終看到的網頁里的,那如果我們希望在網頁中顯示這些符號,該怎么辦呢?
這就要說到HTML轉義字符串(Esca... 閱讀全文
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jazzlib.ZipEntry;
import net.sf.jazzlib.ZipOutputStream;
public class BatchDownload extends HttpServlet {
public BatchDownload() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename="+this.getZipFilename());
System.out.println("in BatchDownload................");
ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
File[] files = new File[2];
files[0]=new File("c:/zip/文件A.doc");
files[1]=new File("c:/zip/文件B.doc");
zipFile(files, "", zos);
zos.flush();
zos.close();
}
private void zipFile(File[] subs, String baseName, ZipOutputStream zos) throws IOException {
for (int i=0;i<subs.length;i++) {
File f=subs[i];
zos.putNextEntry(new ZipEntry(baseName + f.getName()));
FileInputStream fis = new FileInputStream(f);
byte[] buffer = new byte[1024];
int r = 0;
while ((r = fis.read(buffer)) != -1) {
zos.write(buffer, 0, r);
}
fis.close();
}
}
private String getZipFilename(){
Date date=new Date();
String s=date.getTime()+".zip";
return s;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
將listener.ora中的(PROGRAM = extproc)這句注釋掉就可以了。去網上找過,extproc是一個擴展的程序調用接口協議, 連接和調用外部的操作系統程序或進程用時會用到。
轉自:http://blog.csdn.net/chenjuntj2007/archive/2009/07/04/4321640.aspx
//創建臨時表空間
create temporary tablespace test_temp
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創建數據表空間
create tablespace test_data
logging
datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創建用戶并指定表空間
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//給用戶授予權限
grant connect,resource to username;
//以后以該用戶登錄,創建的任何數據庫對象都屬于test_temp 和test_data表空間,這就不用在每創建一個對象給其指定表空間了。
轉載:http://virgos.javaeye.com/blog/337976
struts2+spring2.x+hibernate3.x 懶加載異常:org.hibernate.LazyInitializationException: failed to lazily initialize
Hibernate的Lazy初始化1:n關系時,必須保證是在同一個Session內部使用這個關系集合,不然Hiernate將拋出異常:org.hibernate.LazyInitializationException: failed to lazily initialize of....
兩種處理方法:
一、設置lazy=false,此方法不再累述。
二、用OpenSessionInViewFilter過濾器,注意hibernateFilter過濾器和struts2過濾器在映射時的先后順序。同時要配置事物處理,否則會導致session處于只讀狀態而不能做修改、刪除的動作。
即在web.xml文件中如下配置:
<!-- Spring ApplicationContext配置文件的加載目錄。 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/applicationContext.xml</param-value>
</context-param>
<!-- 解決延遲加載的問題 -->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<!-- 繼承Struts2的FilterDispatcher類,具備GBK等編碼設定功能與struts2的action過濾功能。 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
com.iman.nrms.opm.web.common.FilterDispatcher
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Hibernate 允許對關聯對象、屬性進行延遲加載,但是必須保證延遲加載的操作限于同一個 Hibernate Session 范圍之內進行。如果 Service 層返回一個啟用了延遲加載功能的領域對象給 Web 層,當 Web 層訪問到那些需要延遲加載的數據時,由于加載領域對象的 Hibernate Session 已經關閉,這些導致延遲加載數據的訪問異常。而Spring為我們提供的OpenSessionInViewFilter過濾器為我們很好的解決了這個問題。OpenSessionInViewFilter的主要功能是使每個請求過程綁定一個 Hibernate Session,即使最初的事務已經完成了,也可以在 Web 層進行延遲加載的操作。OpenSessionInViewFilter 過濾器將 Hibernate Session 綁定到請求線程中,它將自動被 Spring 的事務管理器探測到。所以 OpenSessionInViewFilter 適用于 Service 層使用HibernateTransactionManager 或 JtaTransactionManager 進行事務管理的環境,也可以用于非事務只讀的數據操作中。
request-->open session-->打開連接、開始事務-->持久操作-->渲染(關閉連接、session)-->response 其中一些過程省略了,不是很關心。
引自:http://blog.csdn.net/fhwbj/archive/2009/03/25/4022805.aspx
1、選擇Help -> Software Updates -> Find and Install...-> Search for new features to install ->New remote site...
Name: "Spket", Url: "http://www.spket.com/update/"下載完畢重啟 Eclipse
2、Window -> Preferences -> Spket -> JavaScript Profiles -> New ;
輸入“ExtJS”點擊OK;
選擇“ExtJS” 并點擊“Add Library”然后在下拉條中選取“ExtJS”;
選擇 “ExtJS”并點擊“Add File”,然后在你的./ext-2.x/source目錄中選取“ext.jsb” 文件;
3、設置新的ExtJS Profile,選中并點擊“JavaScript Profiles” 對話框右手邊的“Defalut”按鈕;
4、JS打開方式為 Window -> Preferences ->General-> Editors-> File...選擇JS 為 Spket JavaScript Editor(default)
半年前,報考了系統分析師,也沒怎么看書,只是抱著試試水有多深的想法去考的,結果既在我意料之中,也在我意料之外,得了個39/33/39,只差6/12/6分就可以通過了,尤其是論文,居然得了39分,看來還是有希望的,所以決定再次沖擊,并以此做為平臺,練習論文寫作,假如寫一篇論文就和寫一篇日記一樣手到擒來...........
SQL> select * from t1;
N1 V1 NID
---------- ---------- ----------
1 aa 61
2 aa 62
3 bb 83
4 aa 64
SQL> select exp(sum(ln(nid))) from t1 where v1='aa';
EXP(SUM(LN(NID)))
-----------------
242048
已用時間: 00: 00: 00.02
驗證一下:)
SQL> select 61*62*64 from dual;
61*62*64
----------
242048
已用時間: 00: 00: 00.00
先分組然后求積
SQL> select exp(sum(ln(nid))) from t1 group by v1;
EXP(SUM(LN(NID)))
-----------------
242048
83
oracle 這東東挺有意思.
轉自:http://blog.sina.com.cn/s/blog_54eeb5d901000ae5.html
Spring的依賴關系
|
依賴關系分組
|
JAR文件
|
說 明
|
ant
|
ant.jar, ant-junit.jar, ant-launcher.jar
|
Spring采用Apache Ant作為其構建工具,還用來完成大量其它任務如文檔生成和測試執行等。運行時Ant根本不起作用,因此發布應用時無需包含該JAR文件。
|
aopalliance
|
aopalliance.jar
|
AOP Alliance(http://aopalliance.sourceforge.net/)是個聯合的開源協作組織,在多個項目間進行協作以期提供一套標準的AOP Java接口(interface)。 Spring AOP就是基于AOP Alliance標準API實現的。如果你打算使用Spring的AOP或基于AOP的任何特性,只需這個JAR文件。
|
axis
|
axis.jar, saaj.jar, wsdl4j.jar
|
Spring采用Apache Axis項目來支持Spring遠程調用里的JAXRPC功能。如果使用JAXRPC Remoting,那么只需要這些文件。
|
caucho
|
burlap-2.1.12.jar, hessian-2.1.12.jar
|
Spring遠程調用(remoting)對大量不同種類的協議包括Caucho的Burlap和Hessian提供了支持。要用哪個協議就包含這個分組里相應的JAR文件。
|
cglib
|
cglib-full-2.0.2.jar
|
CGLIB用來生成動態代理類(dynamic proxy classes),供核心DI和AOP實現之用。由于大量Spring功能的實現都要用到CGLIB,因此你的應用幾乎總需包含CGLIB。
|
cos
|
cos.jar
|
COS代表com.oreilly.servlet,是個實用類的集合,對Servlets和基于web的應用很有用。Spring在兩個地方要用到COS:文件上傳處理和e-mail發送。不過在這兩種情形中,COS都只是實現選擇之一,因此只有選用COS而非其它實現方法時,才需包含cos.jar。
|
dom4j
|
dom4j.jar
|
使用Hibernate時dom4j不可或缺,因此如果你的應用打算采用Hibernate實現ORM,就需要包含這個JAR文件。
|
easymock
|
easymock.jar, easymockclassextension.jar
|
Spring的測試套件用到了EasyMock,因此只有構建和運行測試套件時才用到這個JAR,無需隨你的應用一起發布。
|
freemarker
|
freemaker.jar
|
Spring提供了FreeMarker模板引擎的包裝類,還為把FreeMarker模板用作web應用的視圖提供了支持。只要使用FreeMarker,就需要這個JAR文件。
|
hibernate
|
ehcache.jar, hibernate2.jar, odmg.jar
|
如果采用Spring的Hibernate集成和支持類,這些JAR文件不可或缺。如果使用其它ORM工具如iBATIS,則不需要這些JAR文件。如果使用Hibernate,則你的應用還要包含CGLIB JAR文件。
|
hsqldb
|
hsqldb.jar
|
Spring的示例應用使用了hsqldb.jar文件。
|
ibatis
|
ibatis-common.jar , ibatis-sqlmap.jar, ibatis-sqlmap-2.jar
|
使用Spring的iBATIS集成類時,這些文件不可或缺;如果使用JDBC或其它ORM工具如Hibernate或JDO,則你的應用不需要這些文件。
|
itext
|
itext-1.02b.jar
|
Spring使用iText提供web層的PDF支持。只有你的web應用需要生成PDF輸出時才需包含這個JAR文件。
|
j2ee
|
activation.jar, connector-api.jar, ejb.jar, jaxrpc.jar, jdbc2_0-stdext.jar, jms.jar, jstl.jar, jta.jar, mail.jar, servlet.jar, xml-apis.jar
|
如左側所示,J2EE相關的各種不同JAR文件數量相當可觀。如果你想要使用Spring郵件支持的JavaMail實現,則需要activation.jar和mail.jar文件。要讓Hibernate使用JCA Connector則需connector-api.jar,使用Spring的EJB支持則需要ejb.jar,jms.jar用于Spring的JMS支持。對于web應用,如果想要使用Spring JSTL支持則需要servlet.jar和jstl.jar。Spring遠程調用里的JAXRPC支持需要jaxrpc.jar文件,jta.jar用于JTA事務支持。剩下兩個JAR文件jdbc2_0-stdext.jar和xml-apis.jar分別用于JDBC和XML配置支持,不過只有你使用1.3版本的JVM時才需要它們。
|
jakarta
|
jakarta-commons commons-attributes-api.jar, commons-attributes-compiler.jar, commons-beanutils.jar, commons-collections.jar, commons-dbcp.jar, commons-digester.jar, commons-discovery.jar, commons-fileupload.jar, commons-lang.jar, commons-logging.jar, commons-pool.jar, commons- validator.jar
|
Spring使用了來自Jakarta Commons項目的大量組件。如果你想在應用中使用源碼級元數據(metadata),就需要commons-attributes-api.jar,此外還需要commons-attributes-compiler.jar,以便將attributes編譯到應用里。Struts要用到BeanUtils、Collections、Digester、Discovery,和Validator JAR文件,其中的Collections,Hibernate也會用到。使用DBCP連接池時,Spring JDBC支持要用到DBCP,Pooling則對有些示例應用不可或缺。如果想使用相應的Spring包裝類來處理web應用的文件上傳,則需要FileUpload。最后,Spring處處用到了Logging,因此需在所有基于Spring的應用里包含這個JAR文件。
|
jakarta-taglibs
|
standard.jar
|
這是Jakarta的JSTL實現,一些Spring示例應用使用了這個實現。
|
jboss
|
jboss-common-jdbc-wrapper.jar
|
運行在JBoss應用服務器上的應用使用Spring的JDBC類時,這個JAR文件不可或缺。
|
jdo
|
jdo.jar
|
提供Spring的JDO支持。
|
jdom
|
jdom.jar
|
在Spring里使用iBATIS 1.3時,JDOM不可或缺。本章介紹的iBATIS版本為2.0。
|
jotm
|
jotm.jar, xapool.jar
|
如果你打算配合Spring事務抽象層一起使用JOTM,jotm.jar文件不可或缺。如果打算在自己的應用里將XAPool用于連接池(connection pooling),則只需xapool.jar。
|
junit
|
junit.jar
|
運行時根本不需要JUnit;它只用來構建和運行測試套件。
|
log4j
|
log4j-1.2.8.jar
|
如果想要使用Spring配置log4j日志記錄,這個文件不可或缺。
|
poi
|
poi-2.5.jar
|
這個JAR可令Spring MVC框架支持Microsoft Excel輸出。
|
quartz
|
quartz.jar
|
Spring基于Quartz的調度支持需要該JAR。
|
regexp
|
Jakarta-oro-2.0.7.jar
|
使用正則表達式來指定AOP的切入點(pointcut)時需要這個JAR。第六章有更詳細的介紹。
|
struts
|
struts.jar
|
欲配合Spring使用Struts構建web應用,Struts JAR必不可少。
|
velocity
|
velocity-1.4.jar, velocity-tools-generic-1.1.jar
|
Spring提供了Velocity的包裝類使其支持DI,同時當你在應用中使用Velocity時,還可減少需要編寫的代碼量。除此之外,Spring還提供了一些類,支持將Velocity用作web層里的視圖提供者(view provider)。只要使用了上述任意特性,都需在發布里包含Velocity JAR文件。
|
xdoclet
|
xjavadoc-1.0.jar
|
Commons Attributes用這個JAR解析源代碼文件,然后提取屬性信息。如果使用了Spring Commons Attributes支持,須包含該JAR文件。
|
<a target=_self href="javascript:goUrl()"> <span class="f14b"> <script type="text/javascript"> imgUrl1="/images/1.jpg"; imgtext1="ite" imgLink1=escape(" http://www.aygfsteel.com/linlin2005"); imgUrl2="/images/2.jpg"; imgtext2="ite" imgLink2=escape(" http://www.aygfsteel.com/linlin2005"); imgUrl3="/images/3.jpg"; imgtext3="ite" imgLink3=escape(" http://www.aygfsteel.com/linlin2005"); imgUrl4="/images/4.jpg"; imgtext4="ite" imgLink4=escape(" http://www.aygfsteel.com/linlin2005"); imgUrl5="/images/5.jpg"; imgtext5="ite" imgLink5=escape(" http://www.aygfsteel.com/linlin2005"); var focus_width=134 var focus_height=130 var text_height=30 var swf_height = focus_height+text_height var pics=imgUrl1+"|"+imgUrl2+"|"+imgUrl3+"|"+imgUrl4+"|"+imgUrl5 var links=imgLink1+"|"+imgLink2+"|"+imgLink3+"|"+imgLink4+"|"+imgLink5 var texts=imgtext1+"|"+imgtext2+"|"+imgtext3+"|"+imgtext4+"|"+imgtext5 document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6?0?0?0 width="'+ focus_width +'" height="'+ swf_height +'">'); document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="
http://www.webjx.com/js/focus.swf"><param name="quality" value="high"> <param name="bgcolor" value="#F0F0F0">'); document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight=' +focus_height+'&textheight='+text_height+'">'); document.write('<embed src="pixviewer.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight= '+focus_height+'&textheight='+text_height+'" menu="false" bgcolor="#F0F0F0" quality="high" width ="'+ focus_width +'" height="'+ focus_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage=" </script> </span></a><span id=focustext class=f14b> </span>
有同事問到在程序中怎樣知道數據庫表中那些字段是主鍵。當時不知道,晚上回來看了看JDK的文檔。
在使用JDBC來查詢數據庫的時候,通常的步驟是:
1. 注冊驅動程序
2. 獲取數據庫連接
3. 執行查詢語句
4. 關閉連接。
在獲得數據庫連接后,就可以通過getMetaData()方法來獲取DatabaseMetaData;然后通過DatabaseMetaData的getPrimaryKeys ()方法來獲取主鍵的信息。
下面是我做的示例程序,該程序在JBuilder2005+oracle8i下通過: import java.sql.*;
import javax.sql.*;
public class TestJDBC {
public TestJDBC() {
}
public static void main(String[] args) throws SQLException {
Connection con = null;
Statement st = null;
ResultSet rst = null;
try{
//注冊數據庫驅動程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//獲取數據庫連接
con = DriverManager.getConnection("jdbc:oracle:thin:@10.60.203.80:1521:TestDB","123","123");
//獲取主鍵信息
rst = con.getMetaData().getPrimaryKeys(null,null,"USER");
//打印主鍵信息
if (!rst.isAfterLast()) {
rst.next();
System.out.println(rst.getString("TABLE_NAME") + " " +
rst.getString("COLUMN_NAME"));
}
}
catch (Exception e){
System.out.println(e.getLocalizedMessage());
}
finally{
try{
//關閉連接
if (rst != null)
rst.close();
if (con != null)
con.close();
}
catch (SQLException e){
throw e;
}
}
}
}
上面的程序中,在獲取主鍵信息的時候,語句
rst = con.getMetaData().getPrimaryKeys(null,null,"USER");
用來獲取主鍵信息。關于該函數的詳細信息,請參閱JDK的文檔。這里要說的是,在測試中發現第三個參數(數據庫表名)是大小寫敏感的,如果寫成user是查不到結果的。
引自:http://www.aygfsteel.com/afrag/
工作中需要在程序中彈出窗口,并且聲音報警。查了資料,發現很多都是在網頁中用的,在應用程序中應用的很少,解決問題之后,記錄下來。 private void play(String path){ try { FileInputStream sound_file=new FileInputStream(path);//獲得聲音文件 try { AudioStream AudioStream_sound=new AudioStream(sound_file); AudioData sound_data = AudioStream_sound.getData();//轉化的wav文件這句會報錯 ContinuousAudioDataStream sound_continue= new ContinuousAudioDataStream (sound_data);//循環播放 AudioPlayer.player.start(sound_continue);// Play audio. //System.out.println("Play music success!"); AudioPlayer.player.stop(sound_continue);// Stop audio. } catch (IOException e1) { // TODO Auto-generated catch block System.out.println("Play music fail!"); e1.printStackTrace(); } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } 注:1.這個程序段是應用在應用程序中,網頁中的聲音調用不適用。 2.聲音片段可以為au格式和wav格式,但是注意的是,如果是別的格式如mp3格式轉化過來的,則在AudioData sound_data = AudioStream_sound.getData();系統會報錯。 3.調用的時候,盡量用線程,這樣可以避免沖突。 引自: http://blog.sina.com.cn/u/53f7b6e401000a9w
<script language="Javascript"><!-- function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠標右鍵 function window.onhelp(){return false} //屏蔽F1幫助 function document.onkeydown() { if ((window.event.altKey)&& ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向鍵 ← (window.event.keyCode==39))) //屏蔽 Alt+ 方向鍵 → { alert("不準你使用ALT+方向鍵前進或后退網頁!"); event.returnValue=false; } /* 注:這還不是真正地屏蔽 Alt+ 方向鍵, 因為 Alt+ 方向鍵彈出警告框時,按住 Alt 鍵不放, 用鼠標點掉警告框,這種屏蔽方法就失效了。以后若 有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/
if ((event.keyCode==8) || //屏蔽退格刪除鍵 (event.keyCode==116)|| //屏蔽 F5 刷新鍵 (event.ctrlKey && event.keyCode==82)){ //Ctrl + R event.keyCode=0; event.returnValue=false; } if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11 if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10 if (window.event.srcElement.tagName == "A" && window.event.shiftKey) window.event.returnValue = false; //屏蔽 shift 加鼠標左鍵新開一網頁 if ((window.event.altKey)&&(window.event.keyCode==115)) //屏蔽Alt+F4 { window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); return false; } } </script>
<script>
if (document.layers){
var larg=screen.availWidth-10;
var altez=screen.availHeight-20;}
else{
var larg=screen.availWidth+8;
var altez=screen.availHeight+7;}
self.resizeTo(larg,altez);
self.moveTo(-4,-4);
</script>
<script>
function sss(){
window.moveTo(-4,-4)
window.resizeTo(screen.availWidth+9,screen.availHeight+9)
}
</script>
<a href="#" onclick="sss()">最大化</a>
|