您的位置:首页 > Web前端 > JavaScript

GWT代码示例--执行Frame里的js function

2011-03-06 21:54 337 查看
package com.client;

import com.shared.FieldVerifier;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class GWT_workspace implements EntryPoint {
	/**
	 * The message displayed to the user when the server cannot be reached or
	 * returns an error.
	 */
	private static final String SERVER_ERROR = "An error occurred while "
			+ "attempting to contact the server. Please check your network "
			+ "connection and try again.";

	/**
	 * Create a remote service proxy to talk to the server-side Greeting
	 * service.
	 */
	private final GreetingServiceAsync greetingService = GWT
			.create(GreetingService.class);

	/**
	 * This is the entry point method.
	 */
	public void onModuleLoad() {

		DecoratorPanel demopanel = new DecoratorPanel();

		TextBox textBox = new TextBox();
		demopanel.setWidget(textBox);
		demopanel.setSize("100px", "40px");
		RootPanel.get().add(demopanel, 0, 0);

		VerticalPanel vPanel = new VerticalPanel();
		vPanel.setSize("100px", "300px");
		Label label = new Label("Required Link");

		vPanel.add(label);
		RootPanel.get().add(vPanel, 0, 260);

		SimplePanel spanel = new SimplePanel();
		final Frame frame = new Frame();
		frame.ensureDebugId("workframe");
		DOM.setElementAttribute(frame.getElement(), "id", "workframe"); 
		frame.setSize("100%", "100%");
		spanel.setWidget(frame);
		//frame.setUrl("frame.html");
		//frame.setUrl("http://passport.csdn.net/account/login");
		//frame.setUrl("http://localhost:8080/GWT_workspace/frame.html");
		frame.setUrl("http://localhost:8080/GWT_workspace/frame.jsp");
		
		spanel.setSize("600px", "600px");
		RootPanel.get().add(spanel, 200, 0);

		label.addClickHandler(new ClickHandler() {

			@Override
			public void onClick(ClickEvent event) {
				// TODO Auto-generated method stub

				Element e1 = RootPanel.get().getElement();
				NodeList<Element> nodelist = e1.getElementsByTagName("IFRAME");
				Element element1 = nodelist.getItem(0);
				String s1 = element1.getInnerHTML();
				//Window.alert(s1);

				Window.alert("hello");
				String str = getFrameHTML();
				//Window.alert(str);
				
				String str2 = getFrameHTML2("workframe");
				Window.alert(str2);
			}

		});

	}

	public native static String getFrameHTML()
	/*-{ 
	var framearr=$doc.getElementsByTagName("IFRAME")
	var framefirst=framearr[0];
	var str=framefirst.document.body.innerHTML;
	return str;
	}-*/;
	
	public native static String getFrameHTML2(String id)
	/*-{ 
	var str=$doc.frames(id).document.body.innerHTML;
	$doc.frames(id).test();
	return str;
	}-*/;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: