/[suikacvs]/webroot/www/js/sami/tools/minibrowser.en.html
Suika

Contents of /webroot/www/js/sami/tools/minibrowser.en.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download) (as text)
Sat Jul 25 07:10:55 2009 UTC (16 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.2: +26 -1 lines
File MIME type: text/html
++ swe/script/ChangeLog	25 Jul 2009 07:10:09 -0000
	* sami-browser.js: Added |readyState| attribute.  Error response
	body should be rendered as well.  The browser now set
	location.samiResponse object after retrieval.  The showContent
	method was split from the main request handler.

	* sami-core.js: Use |window.event| if no event object is provided,
	for compatibility with WinIE event model.  Added
	|SAMI.String.htescaped|.  Added |SAMI.XHR.prototype.getRequestURL|
	and |SAMI.XHR.prototype.getHeaderFieldBody|.

2009-07-25  Wakaba  <wakaba@suika.fam.cx>

++ swe/tools/ChangeLog	25 Jul 2009 07:10:44 -0000
	* minibrowser.en.html: Show HTTP response status code/text and
	progress.

2009-07-25  Wakaba  <wakaba@suika.fam.cx>

1 wakaba 1.1 <!DOCTYPE HTML>
2     <html lang=en>
3     <title>Mini browser</title>
4     <link rel=stylesheet href="/www/style/html/xhtml">
5     <style>
6     .sami-browser-iframe {
7     width: 100%;
8     height: 20em;
9     }
10 wakaba 1.2
11     .sami-browser-xhr {
12     position: relative;
13     display: block;
14     border: outset thin;
15     overflow: auto;
16     }
17 wakaba 1.3
18     output {
19     display: block;
20     }
21    
22     [hidden] {
23     display: none;
24     }
25 wakaba 1.1 </style>
26    
27     <h1>Mini browser</h1>
28    
29     <section id=browser>
30    
31     <input id=browser-url type=url>
32    
33     <div id=browser-viewport></div>
34    
35 wakaba 1.3 <output id=browser-status></output>
36     <output id=browser-progress></output>
37    
38 wakaba 1.1 </section>
39    
40     <script>
41     var SAMI = {};
42     SAMI.onLoadFunctions = [];
43     SAMI.onLoadFunctions.push (function () {
44     SAMI.Script.loadScripts (new SAMI.List ([
45     '../script/sami-browser.js'
46     ]), function () {
47     var bplaceholder = document.getElementById ('browser-viewport');
48     var browserURL = document.getElementById ('browser-url');
49 wakaba 1.3 var browserStatus = document.getElementById ('browser-status');
50     var browserProgress = document.getElementById ('browser-progress');
51 wakaba 1.1
52 wakaba 1.2 var browser = new SAMI.Browser.XHR (bplaceholder);
53 wakaba 1.1
54 wakaba 1.3 new SAMI.Observer (browser, 'urlchanged', function (ev) {
55 wakaba 1.1 browserURL.value = ev.target.getURL ();
56 wakaba 1.3 var res = ev.target.contentWindow.location.samiResponse;
57     var status = res.statusCode + ' ' + res.statusText;
58     SAMI.Element.setTextContent (browserStatus, status);
59     });
60    
61     new SAMI.Observer (browser, 'readystatechange', function (ev) {
62     var rs = ev.target.readyState;
63     if (rs == 'sami-startload') {
64     SAMI.Element.setTextContent (browserProgress, 'Loading...');
65     } else {
66     SAMI.Element.setTextContent (browserProgress, 'Document: Done');
67     }
68 wakaba 1.1 });
69    
70 wakaba 1.2 browser.openURL ('http://suika.fam.cx/antenna.ja.html');
71    
72     new SAMI.Observer (browserURL, 'change', function (ev) {
73     bev = new SAMI.Event.Browser (ev);
74     browser.openURL (bev.target.value);
75     });
76 wakaba 1.1 });
77     });
78     </script>
79     <script src="../script/sami-core.js" defer async></script>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24