JavaScriptに関して1つの複雑な状況があります。オブジェクトを作成しました。このオブジェクトは、JS、CSSファイルを動的にロードします(ロード関数を参照)。私の問題は、オブジェクトファイルがロードされたときにonloadイベントを追加し、そのオブジェクトのいくつかの値を変更したいということです。
私のオブジェクトコンストラクター:
function lib( type, url )
{
//Varaibles
this.URL = url; //Files url
this.TYPE = type; //Files type( can by CSS or JS )
this.READY = false; //Files loaded status
//Functions
this.load = load; //Method, which is called to start loading file
this.status = status; //Return READY status( false or true )
}
だから私はファイルのロードを変更するREADYステータスを試しています。これはload関数で設定したいものです。今のところ私はこのロード機能を持っています:
function load()
{
var object = this;
switch ( this.TYPE.toUpperCase() )
{
case "JS" :
{
var script = document.createElement( "script" );
script.setAttribute( "type", "text/javascript" );
script.setAttribute( "src", this.URL );
document.getElementsByTagName( "head" )[0].appendChild( script );
if( navigator.appName == "Microsoft Internet Explorer" )
{
script.onreadystatechange = function () { this.READY = true; };
} else {
script.onload =function () { this.READY = true; };
}
break;
}
( Here should be CSS loading... )
}
}
だからみんな、私は自分のコードを見て、私が間違っていることを見る必要があります