Browser: modify DOM (executing javascript)

Web browser执行javascript

 

 

 

/*******************************************************************************
  * Copyright (c) 2000, 2004 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/

/*
  * Browser example snippet: modify DOM (executing javascript)
  *
  * For a list of all SWT example snippets see
  * http://www.eclipse.org/swt/snippets/
 
  * @since 3.1
  */
import  org.eclipse.swt.SWT;
import  org.eclipse.swt.browser.Browser;
import  org.eclipse.swt.layout.FillLayout;
import  org.eclipse.swt.widgets.Button;
import  org.eclipse.swt.widgets.Composite;
import  org.eclipse.swt.widgets.Display;
import  org.eclipse.swt.widgets.Event;
import  org.eclipse.swt.widgets.Listener;
import  org.eclipse.swt.widgets.Shell;
import  org.eclipse.swt.widgets.Text;

public class  JavascriptExec  {
   public static  void  main ( String []  args ) {
     final  String  html   "<html ><title>Snippet</title><body><p id='myid'>Best Friends</p><p id='myid2'>Cat and Dog</p></body></html >" ;
     Display display =  new  Display () ;
     final  Shell shell =  new  Shell ( display ) ;
     shell.setLayout ( new  FillLayout ()) ;
     final  Browser browser =  new  Browser ( shell, SWT.BORDER ) ;
     Composite comp =  new  Composite ( shell, SWT.NONE ) ;
     comp.setLayout ( new  FillLayout ( SWT.VERTICAL )) ;
     final  Text text =  new  Text ( comp, SWT.MULTI ) ;
     text.setText ( "var newNode = document.createElement('P'); /r/n"
         "var text = document.createTextNode('At least when I am around');/r/n"
         "newNode.appendChild(text);/r/n"
         "document.getElementById('myid').appendChild(newNode);/r/n"  "/r/n"
         "document.bgColor='yellow';" ) ;
     final  Button button =  new  Button ( comp, SWT.PUSH ) ;
     button.setText ( "Execute Script" ) ;
     button.addListener ( SWT.Selection,  new  Listener () {
       public  void  handleEvent ( Event event ) {
         boolean  result = browser.execute ( text.getText ()) ;
         if  ( !result ) {
           /* Script may fail or may not be supported on certain platforms. */
           System.out.println ( "Script was not executed." ) ;
         }
       }
     }) ;
     browser.setText ( html ) ;
     shell.open () ;
     while  ( !shell.isDisposed ()) {
       if  ( !display.readAndDispatch ())
         display.sleep () ;
     }
     display.dispose () ;
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值