有时候需要在网页中某个div载入之后,动态引入一段javascript,IE下的解决方案:
CODE:
-
newjs. onreadystatechange = function ( ) {
-
if (newjs. readyState == 'loaded' ) {
-
// ready!
-
}
-
}
-
newjs. onload = function ( ) {
-
// ready!
-
}
主要利用了onload以及onreadystatechange事件。把这个加以利用,也能动态载入外部css。下面是同时适合Ie/firefox的写法。
CODE:
-
var css;
-
function include_css (css_file ) {
-
var html_doc = document. getElementsByTagName ( 'head' ) [ 0 ];
-
css = document. createElement ( 'link' );
-
css. setAttribute ( 'rel', 'stylesheet' );
-
css. setAttribute ( 'type', 'text/css' );
-
css. setAttribute ( 'href', css_file );
-
html_doc. appendChild (css );
-
// alert state change
-
css. onreadystatechange = function ( ) {
-
if (css. readyState == 'complete' ) {
-
alert ( 'CSS onreadystatechange fired' );
-
}
-
}
-
css. onload = function ( ) {
-
alert ( 'CSS onload fired' );
-
}
-
return false;
-
}
-
var js;
-
function include_js (file ) {
-
var html_doc = document. getElementsByTagName ( 'head' ) [ 0 ];
-
js = document. createElement ( 'script' );
-
js. setAttribute ( 'src', file );
-
html_doc. appendChild (js );
-
js. onreadystatechange = function ( ) {
-
if (js. readyState == 'complete' ) {
-
alert ( 'JS onreadystate fired' );
-
}
-
}
-
js. onload = function ( ) {
-
alert ( 'JS onload fired' );
-
}
-
return false;
-
}
这里是Demo,有动态载入css以及js的例子。