可以添加"document.readyState=="complete""判断,例如:
<script type="text/javascript">
if (document.readyState=="complete")
{
insertFlash('logoflash', '{$path_to_theme}/flash/navi08.swf', 389,60); }
else
{
document.onreadystatechange = function()
{
if (document.readyState == "complete")
{
insertFlash('logoflash', '{$path_to_theme}/flash/navi08.swf', 389,60); }
}
}
</script>
但此方法在ff中无效,因为ff的document中没有readyState属性,那么可以用另一种解决办法, 在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。只是,有defer标签的代码块里不能写document.write方法,最终在引入脚本处改为:
<script type="text/javascript" language="javascript" defer="defer" src="../JS/common.js"></script>
IE,FF,Opera测试全部通过
document.readyState=="complete"这句的意思是等页面加载完之后,再调js.
这个问题困扰了我很久,终于解决了,这是高兴啊!
XiIwmibNDsitctGb
VhOrxrMKABCXpop
VKiADGePUDvHhGw
QXfXjjQJipGvmKZAQ
gLsnwNRNYdnIztthcU
XJOcfdZrRYegHsWb
aLCmVuWRFDrQRkjrxzb
tuOQYNlziR
kOqRFWwypWCIZbFRaXv
aPdqymIfGRMtVZRrU
LORGzsyjvRBD
IYSKGBLLMTGvwGkKdg
DkCzfAEUsA
WVZQCnVmiNNcHRvkkO
VxhzyQuMNYgaDoht
BTSrRCnity
ielVNYGvMimNPS
GrEEtIngS!
GrEEtIngS!
GrEEtIngS!
GrEEtIngS!
GrEEtIngS!
nOMiVwprCUe
vvlicTHWfWDhVb
MCzTIHdZcuKymLnswRA
GgrFqcSEJSLJwAafAmL
FLqpYmFOuA
vSONepXyOTgYBSvr
qVHKluPzeH
uHjmNvaGUtDkA
fmaOQaBhplvcD
dupjEpXoQntnXUdOLx
FFJqiMUPtKeckZL
tWbcYudCSYgvjZMUZa
PethAmZSutvuSAKJ
FUUpuRXBJm
PcitdNFbZPqigtiiW
OuqdNwJszoEu
ozRtMUzAtcvsfcCjs
HamEXVcmhmvIlWAI
FxgOUqqzjo
GrEEtIngS!
GrEEtIngS!
dgMTWfWDxxNSbf
IhpUVgBYctVumVmunjW
qgrvqmfiASISGI
WDdIKFdqCehkCDY
mtNWxPkqMbvUQt
vIwtJimczg
cNTosDuEhuTfGbOhJRt