未定义变量javascript-lightbox

未定义变量javascript-lightbox,javascript,lightbox,undefined,lytebox,Javascript,Lightbox,Undefined,Lytebox,当使用javascript库加载网页时,我试图打开一个lightbox 这是我的密码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-eq

当使用javascript库加载网页时,我试图打开一个lightbox

这是我的密码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript" language="javascript" src="lytebox.js"></script>
<link rel="stylesheet" href="lytebox.css" type="text/css" media="screen" />

<script>
    function ShowIntro()
    {
        $lb.launch('example.jpg','showPrint:true','Orion Nebula','This is my description, which is optional');
    }
</script>

</head>


<body onLoad="ShowIntro()">
</body>
</html>
我怎样才能修好它


p、 我使用lytebox是因为它不需要jquery,我不想与我页面上的其他部分(如“videolightbox”)发生冲突。这里有一个猜测:lytebox使用
窗口。onload
本身是为了设置
$lb
变量(你可以在最后看到这个),当你这样做时,你基本上是在敲Lytebox的
窗口。在它有机会启动之前,先加载
函数。下面的例子似乎证实了IE中的这种行为

那么,当Lytebox需要自己的事件时,如何添加
onload
事件呢?七年前,西蒙·威利森(Simon Willison)在伦敦提出了一个解决方案。就您而言,他的建议很容易实施:

<body><!-- no onload --->
  <script>
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = ShowIntro;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      ShowIntro();
    }
  }
  </script>
</body>

var oldonload=window.onload;
if(typeof window.onload!=“函数”){
window.onload=ShowIntro;
}否则{
window.onload=函数(){
if(oldonload){
oldonload();
}
ShowIntro();
}
}
<body><!-- no onload --->
  <script>
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = ShowIntro;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      ShowIntro();
    }
  }
  </script>
</body>