<
html
>
<
head
>
<
script
type
=
"text/javascript"
>
function jsLoad(
jId,
url,
callBack)
{
var version = 0;
if (navigator.appName.indexOf('Internet Explorer') != -1) {
var temp = navigator.appVersion.split('MSIE');
version = parseInt(temp[1]);
}
var js = document.getElementById(jId);
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', url);
js.onload = js.onreadystatechange = function()
{
if (js.readyState && version > 0) {
if (version <= 6) {
if (/complete/i.test(js.readyState)) {
return callBack();
}
} else {
if (/loaded/i.test(js.readyState)) {
return callBack();
}
}
} else {
return callBack();
}
}
}
function myecho(
)
{
alert(
str)
;
}
<
/
script
>
<
/
head
>
<
body
>
<
script
id
=
"myid"
>
<
/
script
>
<
script
>
var
url =
'http://www.other.com/some/some.php'
;
jsLoad(
'myid'
,
url,
myecho)
;
<
/
script
>
<
body
>
<
/
html
>
其中some.php文件的内容为:
<
?
php
echo
'var str = "ok";'
;
本文介绍了一种使用JavaScript动态加载并执行外部脚本的方法。通过定义`jsLoad`函数,可以针对不同版本的Internet Explorer浏览器以及其他现代浏览器实现脚本加载后的回调机制。此外,还演示了如何将该函数应用到具体场景中。
2448

被折叠的 条评论
为什么被折叠?



