You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							76 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							76 lines
						
					
					
						
							2.6 KiB
						
					
					
				<html> | 
						|
<script type="text/javascript" src="../dojo.js"></script> | 
						|
<script type="text/javascript"> | 
						|
dojo.require('dojo.html.common'); | 
						|
dojo.require('dojo.html.style'); | 
						|
dojo.require("dojo.event"); | 
						|
dojo.require("dojo.lang.declare"); | 
						|
 | 
						|
function $ (id) { return dojo.byId(id); } | 
						|
function makeGreen (nodes) { for (var i = 0; node = nodes[i]; i++) { node.style.color = "green"; } } | 
						|
 | 
						|
 | 
						|
var contentWin; | 
						|
dojo.addOnLoad(function(){ | 
						|
	contentWin = $("embed").contentWindow; | 
						|
	dojo.event.connect($("updateScroll"), "onclick", updateScroll); | 
						|
	dojo.event.connect($("updateScrollOffset"), "onclick", updateScrollOffset); | 
						|
	dojo.event.connect($("updateViewport"), "onclick", updateViewport); | 
						|
	dojo.event.connect($("init"), "onclick", init); | 
						|
}); | 
						|
 | 
						|
function updateScroll() { | 
						|
	dojo.withGlobal(contentWin, function() { | 
						|
		var scroll = dojo.html.getScroll(); | 
						|
		$("scrollTop").firstChild.nodeValue = scroll.top; | 
						|
		$("scrollLeft").firstChild.nodeValue = scroll.left; | 
						|
	}); | 
						|
} | 
						|
 | 
						|
function updateScrollOffset() { | 
						|
	dojo.withGlobal(contentWin, function() { | 
						|
		var offset = dojo.html.getScroll().offset; | 
						|
		$("scrollOffsetX").firstChild.nodeValue = offset.x; | 
						|
		$("scrollOffsetY").firstChild.nodeValue = offset.y; | 
						|
	}); | 
						|
} | 
						|
 | 
						|
//use object context to invoke a member function of an object | 
						|
var ViewPort = {}; | 
						|
ViewPort.update = function(msg){ | 
						|
	var viewport = dojo.html.getViewport(); | 
						|
	$("viewportWidth").firstChild.nodeValue = viewport.width; | 
						|
	$("viewportHeight").firstChild.nodeValue = viewport.height; | 
						|
	$("viewportSize").firstChild.nodeValue = viewport + msg; | 
						|
} | 
						|
 | 
						|
function updateViewport() { | 
						|
	dojo.withGlobal(contentWin, "update", ViewPort, " updateViewport is clicked" ); | 
						|
} | 
						|
 | 
						|
function init() { | 
						|
	makeGreen(dojo.html.getElementsByClass("foo1 bar1")); | 
						|
	makeGreen(dojo.html.getElementsByClass("foo2", null, null, dojo.html.classMatchType.ContainsAll)); | 
						|
	makeGreen(dojo.html.getElementsByClass("foo3 bar3", null, null, dojo.html.classMatchType.IsOnly)); | 
						|
	makeGreen(dojo.html.getElementsByClass("foo4", null, null, dojo.html.classMatchType.IsOnly)); | 
						|
} | 
						|
 | 
						|
//use around to wrap a function to work in the embed window | 
						|
dojo.event.connect("around", this, "init", this, "withEmbed"); | 
						|
function withEmbed(mi) { | 
						|
	dojo.withGlobal(contentWin, function() { mi.proceed(); }); | 
						|
} | 
						|
 | 
						|
</script> | 
						|
<head> | 
						|
</head> | 
						|
<body> | 
						|
<p>This text is before the iframe</p> | 
						|
<iframe id="embed" src="test_html_content.html" width="50%" height="200px"></iframe> | 
						|
<p><input type="button" id="init" value="Init green text"> | 
						|
<input type="button" id="updateScroll" value="Update Scroll Values"> | 
						|
<input type="button" id="updateScrollOffset" value="Update Scroll Values"> | 
						|
<input type="button" id="updateViewport" value="Update Size Values"></p> | 
						|
<p style="height: 700px"></p> | 
						|
</body> | 
						|
</html>
 | 
						|
 |