我该如何设置七个?

时间:2009-09-25 19:12:40

标签: javascript

我只是想让这个插件工作,但我不确定我做错了什么。

http://code.google.com/p/sevenup/

所以我试着按照他们给你的代码一样。

<script type="text/javascript" src="sevenup.0.3.min.js"></script>
...
<body onload="sevenUp.test( options, callback );">

我的测试页。

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>

    <script src="sevenup.0.3.js" type="text/javascript"></script>

</head>
<body onload="sevenUp.test( options, callback );"> 
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>

所以我这样做了,我得到的“选项”没有定义。

所以我试过这个

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!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 runat="server">
    <title>Untitled Page</title>

    <script src="sevenup.0.3.js" type="text/javascript">

                var options = {
          enableClosing: true,
          enableQuitBuggingMe: true,
          overlayColor: "#000000",  
          lightboxColor: "#ffffff",
          borderColor: "#6699ff",
          downloadLink: osSupportsUpgrade ? 
                        "http://www.microsoft.com/windows/internet-explorer" :
                        "http://getfirefox.com",
          overrideLightbox: false,
          lightboxHTML: null,
          showToAllBrowsers: false
        };

        var callback = function() {
          // Switch IE-specific content
          // AJAX call to map IP to 'IE6 user' status
          // etc.
        }

sevenup.test(options, callback);
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>

但没有任何反应。

我错过了什么。

有人能为我举个例子吗?就像我尝试了许多不同的方式,我仍然无法让它工作。

标准的Html页面应该没问题。因为这确实不需要服务器端。


这是一个标准的html页面。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Untitled Document</title>
        <script type="text/javascript" src="sevenup.0.3.js"></script>
        <script type="text/javascript" src="sevenup_black.0.3.js"></script>

    </head>
    <body onload="sevenUp.plugin.black.test( options, callback );">
    </body>
</html>

所以不确定我还在做错什么。获取未定义的选项。

3 个答案:

答案 0 :(得分:1)

你正在使用ASP.NET,Body OnLoad不是放置JavaScript钩子的好地方。

</body>标记之前将其添加到页面的最底部:

<script type="text/javascript">

// Call sevenUp

sevenUp.test( options, callback );

</script>

您要做的另一件事是确保引用源JavaScript文件的正确路径:

<script type="text/javascript" src="<%=ResolveClientURL("~") %>/Scripts/sevenup.0.3.min.js"></script>

答案 1 :(得分:1)

尝试传递空选项对象并将其作为参数。选项变量不是由脚本公开的,这似乎是为什么它说它未定义(因为它是)。回调变量也未公开。

sevenUp.test({}, function(){} );

您还可以轻松地在Firefox中加载页面,设置断点并检查局部变量。

答案 2 :(得分:0)

runat="server"标记中删除<head>。那应该解决它。