|
<script language="JavaScript" type="text/javascript">
<!--
//copyright(C) 2005 あう http://www5c.biglobe.ne.jp/~horoau/
//ver1.0
function text_reader()
{
this.readyState = "ready";
this.setup = function (url,script)
{this.func = script;
this.readyState = "loading";
with(document)
{if(url && document.getElementById)
{if(!getElementsByTagName("body")[0])
{setTimeout("obj_bank.withdraw("+obj_bank.deposit(this)+").setup('"+url+"','"+script+"');",300);
return;}
else if((document.all && navigator.userAgent.indexOf("Opera") == -1) &&
(document.readyState != "interactive" && document.readyState != "complete"))
{setTimeout("obj_bank.withdraw("+obj_bank.deposit(this)+").setup('"+url+"','"+script+"');",300);
return;}
this.data_frame = createElement("iframe");
var i = 0;
while(getElementById("frame_id"+i))
{i++;}
with(this.data_frame)
{setAttribute("id","frame_id"+i);
setAttribute("name","frame_id"+i);
setAttribute("src",url);
setAttribute("width","1");
setAttribute("height","1");
style.position = "absolute";
style.visibility = "hidden";}
document.getElementsByTagName("body")[0].appendChild(this.data_frame);
this.iframe = eval("window.frame_id"+i);
if(!document.all)
{this.iframe.document.getElementsByTagName("html")[0].innerHTML = '<body>';}
this.iframe.check_loading = 1;
this.check();}
else
{this.readyState = "error";
return;}}}
this.check = function ()
{if(this.iframe)
{if(!this.iframe.check_loading && (document.all && navigator.userAgent.indexOf("Opera") == -1))
{this.readyState = "error";
return;}
if(this.iframe.document)
{if(this.iframe.document.readyState == "complete")
{this.reading();
return;}
else if(this.iframe.document.getElementsByTagName("html")[0])
{if(this.iframe.document.getElementsByTagName("html")[0].innerHTML.match(/<\/body>$/))
{this.reading();
return;}}}}
this.id = setTimeout("obj_bank.withdraw("+obj_bank.deposit(this)+").check();",10);}
this.reading = function ()
{clearTimeout(this.id);
if(!this.iframe.document.body.getElementsByTagName("pre")[0])
{this.readyState = "error";
return;}
this.data_line = this.iframe.document.body.getElementsByTagName("pre")[0].innerHTML;
this.readyState = "complete";
document.getElementsByTagName("body")[0].removeChild(this.data_frame);
eval(this.func);}}
function obj_bank()
{var bank = new Array();
this.deposit = function (obj)
{for(var i=0;bank[i];i++)
{;}
bank[i] = obj;
return i;}
this.withdraw = function (no)
{var payment = bank[no];
bank[no] = "";
return payment;}}
obj_bank = new obj_bank();
// -->
</script>
|
[ 2005.7.10 ] ver.1.0 |
|
旧データバインドクラスからテキストを読み込むのみの機能を抜き出してみた。
外部テキストを読み込みたいって要望結構多いんだよね。
実際読み込めれば何かと便利ではあるし。
でも旧データバインドもCSVリーダーもしかりだけど
読み込む際にタイムラグがあるのがね。
この辺はブラウザの標準機能じゃないからしょうがないんだけど
ある程度知識のある人じゃないと使いづらいってのがね。
将来的にはそういう機能も出てくるかなぁ?
IEにはデータバインド機能があるわけだけど
他はそれを追随する気はない感じだからわかんないけどね。 |
|
ウェブ木箱
copyright(C) 2005 あう